猿问

js创建这个对象的时候为什么不用var?

<script>

person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
document.write(person.firstname + " is " + person.age + " years old.");
</script>

不用 var person吗?


子衿沉夜
浏览 863回答 9
9回答

翻过高山走不出你

你可以把他理解为全局变量,但是他与var声明的变量有有所不同不同在于没有使用var的变量可以直接被delete删除,但是用var声明的变量则无法删除

慕尼黑5688855

<script></script>内联的JS,变量声明加和不加var的效果相同都是全局变量在函数中,不加var声明变量就是一个全局变量,加var声明就是一个函数内的局部变量

波斯汪

我就提一个建议:即使是全局变量,也要用var声明。

浮云间

直接写person相当于window.person就像直接写alert(1);其实是window.alert(1);

烙印99

不用var的写法是容易出问题的。不用var的话默认变量定义在window上。也就成了全局的

慕娘9325324

不使用var声明的变量默认为全局变量,说它是变量,但其实它是全局对象window/global的属性,因为使用var声明的变量是不可删除的,但不使用var声明的变量可以使用delete删除,那么就意味着他是可删除的属性。即window.person/global.person。可以看下我之前写的这篇文章:JavaScript中定义变量时有无var的区别
随时随地看视频慕课网APP

相关分类

Java
我要回答