无意间发现js中的一个小坑,以下为测试代码:
var name = 10;
var obj = {};
console.log(name + 10 + obj)
//输出结果:1010[object Object]
一开始盯着代码研究半天,认为结果应该是20[object Object]。为什么呢?
然后上网搜索了下,在菜鸟教程找到了原因:
name属于保留关键字,所以还是避免使用就行了。
感觉name应该算是一个内置字符吧,为什么呢?看代码:
console.log(name);
console.log(typeof name);
输出结果:
在各浏览器中使用关键字可能会出现不同的问题,所以为了避免出现一些不明所以的bug,
不要使用关键字作为变量名或函数名!!!
不要使用关键字作为变量名或函数名!!!
不要使用关键字作为变量名或函数名!!!