js使用name做变量名

451 阅读1分钟
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()