Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

6
通过类和ID获取元素内部的元素-JavaScript
好的,我以前涉猎过JavaScript,但是我写的最有用的东西是CSS样式切换器。所以我对此有些陌生。假设我有这样的HTML代码: <div id="foo"> <div class="bar"> Hello world! </div> </div> 我将如何更改“ Hello world!” 向“再见的世界!” ?我知道document.getElementByClass和document.getElementById的工作方式,但我想更具体一点。抱歉,以前是否有人问过。

13
ES6中的Java枚举
我正在用Javascript重建一个旧的Java项目,并意识到在JS中没有很好的枚举方法。 我能想到的最好的是: const Colors = { RED: Symbol("red"), BLUE: Symbol("blue"), GREEN: Symbol("green") }; Object.freeze(Colors); 的const保持Colors被重新分配,并冷冻它防止突变的键和值。我正在使用Symbols,所以它Colors.RED不等于0或除自身以外的其他任何符号。 这种配方有问题吗?有没有更好的办法? (我知道这个问题有点重复,但是以前的所有Q / A都已经很老了,ES6为我们提供了一些新功能。) 编辑: 另一个解决序列化问题的解决方案,但我认为仍然存在领域问题: const enumValue = (name) => Object.freeze({toString: () => name}); const Colors = Object.freeze({ RED: enumValue("Colors.RED"), BLUE: enumValue("Colors.BLUE"), GREEN: enumValue("Colors.GREEN") }); 通过使用对象引用作为值,您将获得与Symbols相同的避免碰撞的功能。

20
getMinutes()0-9-如何显示两位数字?
var date = "2012-01-18T16:03"; var date = new Date(date); console.log(date.getMinutes()); console.log(date.getMinutes().length) 返回3。 如何使其返回“ 03”? 为什么.length退货未定? 我试过了,但是没有用: 如果那样的strlen == 1话num = ('0' + num);
136 javascript 

5
Object.freeze()与const
Object.freeze()似乎是过渡到constES6中使用的一种过渡便利方法。 是否有两种情况都在代码中占据一席之地,还是存在处理不可变数据的首选方法? 我应该使用Object.freeze()直到支持的所有浏览器都const转而使用const?



7
用一个空格替换所有非字母数字字符,换行和多个空格
我正在寻找可替代的整洁RegEx解决方案 所有非字母数字字符 所有换行 空白的所有多个实例 一个空格 对于那些在家里玩的人(以下方法有效) text.replace(/[^a-z0-9]/gmi, " ").replace(/\s+/g, " "); 我的想法是RegEx可能强大到足以在一句话中实现这一目标。我认为需要的组件是 [^a-z0-9] -删除非字母数字字符 \s+ -匹配任何空间集合 \r?\n|\r -匹配所有新行 /gmi -全局,多行,不区分大小写 但是,我似乎无法以正确的方式设置正则表达式的样式(以下内容无效) text.replace(/[^a-z0-9]|\s+|\r?\n|\r/gmi, " "); 输入项 234&^%,Me,2 2013 1080p x264 5 1 BluRay S01(*&asd 05 S1E5 1x05 1x5 期望的输出 234 Me 2 2013 1080p x264 5 1 BluRay S01 asd 05 …

8
为什么扩展本机对象是一种不好的做法?
每个JS意见领袖都说,扩展本机对象是一种不良做法。但为什么?我们会获得出色的表现吗?他们是否担心有人会以“错误的方式”这样做,并向中添加了可枚举的类型Object,实际上破坏了任何对象上的所有循环? 以TJ Holowaychuk的should.js为例。他向中添加了一个简单的吸气剂,Object并且一切正常(源代码)。 Object.defineProperty(Object.prototype, 'should', { set: function(){}, get: function(){ return new Assertion(Object(this).valueOf()); }, configurable: true }); 这真的很有意义。例如,可以扩展Array。 Array.defineProperty(Array.prototype, "remove", { set: function(){}, get: function(){ return removeArrayElement.bind(this); } }); var arr = [0, 1, 2, 3, 4]; arr.remove(3); 是否有反对扩展本机类型的论点?

9
计算两个坐标之间的距离的功能
我目前正在使用下面的功能,但无法正常工作。根据Google Maps,这些坐标之间的距离(从59.3293371,13.4877472到59.3225525,13.4619422)为2.2公里,而函数返回的则为1.6公里。如何使该函数返回正确的距离? function getDistanceFromLatLonInKm(lat1, lon1, lat2, lon2) { var R = 6371; // Radius of the earth in km var dLat = deg2rad(lat2-lat1); // deg2rad below var dLon = deg2rad(lon2-lon1); var a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * Math.sin(dLon/2) * Math.sin(dLon/2) ; var c = 2 * …

25
在堆栈导航器中隐藏标题React导航
我正在尝试同时使用堆栈和标签导航器切换屏幕。 const MainNavigation = StackNavigator({ otp: { screen: OTPlogin }, otpverify: { screen: OTPverification}, userVerified: { screen: TabNavigator({ List: { screen: List }, Settings: { screen: Settings } }), }, }); 在这种情况下,首先使用stacknavigator,然后使用tabnavigator。而且我想隐藏堆栈导航器的标题。当我使用如下导航选项时,它无法正常工作: navigationOptions: { header: { visible: false } } 我正在在stacknavigator中使用的前两个组件上尝试此代码。如果我使用此行,则会出现类似以下错误:

6
将JSON从PHP返回到JavaScript?
我有一个通过jQuery AJAX调用的PHP脚本。我希望PHP脚本将JSON格式的数据返回给javascript。这是PHP脚本中的伪代码: $json = "{"; foreach($result as $addr) { foreach($addr as $line) { $json .= $line . "\n"; } $json .= "\n\n"; } $json .= "}"; 基本上,我需要将两个for循环的结果插入$ json中。
135 php  javascript  json 

11
所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问来源“ ...”
我正在使用.htaccess重写网址,并使用了html基本标记以使其正常工作。 现在,当我尝试发出ajax请求时,出现以下错误: XMLHttpRequest无法加载http://www.example.com/login.php。所请求的资源上没有“ Access-Control-Allow-Origin”标头。http://example.com因此,不允许访问来源' '。


13
中断promise链,并根据该链中被破坏(被拒绝)的步骤调用函数
更新: 为了帮助将来的读者,我创建了pluma's answer的此演示。 题: 我的目标似乎很简单。 step(1) .then(function() { return step(2); }, function() { stepError(1); return $q.reject(); }) .then(function() { }, function() { stepError(2); }); function step(n) { var deferred = $q.defer(); //fail on step 1 (n === 1) ? deferred.reject() : deferred.resolve(); return deferred.promise; } function stepError(n) { console.log(n); } …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.