我想在几周内做一个演示,并且想知道:在开发时你需要注意的十大Javascript不兼容性是什么?你绊倒了什么?我可以先从一个开始:
var somevar = {
'internet': 'explorer',
'hates': 'trailing',
'commas': 'in',
'json': 'code', // oh noes!
}
Run Code Online (Sandbox Code Playgroud)
使用像jQuery或base这样的框架可以解决哪些其他常见陷阱?
使用HTML标记
<div id="foo">
<a href="#">Link 1</a>
</div>
Run Code Online (Sandbox Code Playgroud)
如果获得对外部div的引用,则在某些浏览器中将有一个子节点,在其他浏览器中将有三个子节点,具体取决于处理空格的方式.有些文本节点的换行符和空格作为div#foolink元素之前和之后的子元素.
嗯,隐含的分号存在问题.
return {
a: 1,
b: 2
}
Run Code Online (Sandbox Code Playgroud)
有些人喜欢在自己的行上打开括号,如下所示:
return
{
a: 1,
b: 2
}
Run Code Online (Sandbox Code Playgroud)
但是,最后一条语句将返回undefined,因为解析器看到:
return;
{
a: 1,
b: 2
}
Run Code Online (Sandbox Code Playgroud)
var x = new Boolean(false); 如果(x)...否则...;
是否采用“if”或“else”分支?
var x = "hi", y = new String("hi");
typeof(x) 和 typeof(y) 是什么?
编辑:..
parseInt("017") 生成 15(八进制)而不是 17
“Error”对象是 IE 和 Firefox 不同的签名。
当使用对象作为 hashmap 时,需要使用 object.hasOwnProperty(key) 来确保该属性不是通过原型链继承的。
| 归档时间: |
|
| 查看次数: |
1794 次 |
| 最近记录: |