var name = 11;
console.log(typeof name) //string
1.这里我们光乍一眼看 输出应该是number才对,例如下面两行代码
var age = 11;
console.log(typeof age) //number
在javascript中name既不是保留字,也不是关键字, 但在window对象中有一个属性是 window.name。 window.name 是一个字符串,所以声明的name变量在全局作用域时或隐式声明的时候, 相当于给window.name赋值,所以只能为字符串。
2.这个有一个特性,请看控制台
即使我们刷新当前页面后,你赋值过的name 值依然存在 也就说明这个属性是window自带的。若是其他变量则没有
放到函数作用域里面调用就不会有这问题。
function test() {
var name = [33, 'dd']
console.log(name) //[33, "dd"]
console.log(typeof name) //object
console.log(typeof this.name) //string
}
test()