在您看来,您遇到的最令人惊讶,奇怪,奇怪或真正的"WTF"语言功能是什么?
每个答案只能有一个功能.
每个JavaScript程序员都应该知道一组能够说"我知道JavaScript"的东西吗?
您认为每个程序员应该知道哪些JavaScript的"隐藏功能"?
在看到以下问题的答案的优秀质量后,我认为是时候向它询问JavaScript了.
虽然JavaScript现在可以说是最重要的客户端语言(只是问谷歌)但令人惊讶的是,大多数网络开发人员都很少理解它的实力.
我需要在jQuery和GWT之间为我的新项目做出决定.
我有一段时间没用JavaScript编程,过去几天我一直在研究GWT.它看起来非常棒,为不同的浏览器和所有浏览器生成所有不同的JS,但是:
我一直在为我的大多数项目使用jQuery而且非常好.
我想说服客户端jQuery更适合这个项目,我需要更多的参数来支持这个.
给出以下字符串:
var str = "one,two,three";
Run Code Online (Sandbox Code Playgroud)
如果我在逗号上拆分字符串,我通常会得到一个数组,如预期的那样:
var arr = str.split(/\s*,\s*/);
Run Code Online (Sandbox Code Playgroud)
麻烦的是,在Google Chrome(适用于Mac)中,它会向阵列添加额外的属性.
Chrome调试器的输出:
arr: Array
0: one
1: two
2: three
constructor: function Array()
index: undefined
input: undefined
length: 3
Run Code Online (Sandbox Code Playgroud)
因此,如果我使用循环遍历数组for/in,它将迭代新属性.特别是input和index属性.使用hasOwnProperty似乎没有帮助.
修复方法是for根据数组的长度进行循环.我仍然想知道是否有人深入了解Chrome的行为方式.Firefox和Safari没有这个问题.