|
js中定义变量,变量名的规则,不能是关键字,首字母不能为数字等。大家注意到的是关键字,for,switch,if,function等。但是有一个变量名为name的,也是被window对象使用了。window自带属性name;
所以,如果变量名命名为name,可能会导致程序出错。请看以下代码: <script type="text/javascript">
var name;
name = null;
console.log(name == null); //false
var bj;
bj = null;
console.log(bj == null); //true
</script>
为什么,变量名为name, 打印出来就是false呢??? 然后,做了一个测试: var name; name = null; console.log(typeof name); //string console.log(name); //"null" ,又做了一个测试: var name; name = 5; console.log(typeof name); //string console.log(name); //"5" 二个测试下来,发现不管定义什么,name最后,都会转成字符串。所以出现了上面的情况。 最后,查阅文档发现,window.name此属性只能保存字符串。如下图,所以,大家在命名时,注意下,最好不要用name. |
|
