为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

子衿沉夜 2019-03-20 17:15:18
<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吗?
查看完整描述

9 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

你可以把他理解为全局变量,但是他与var声明的变量有有所不同

不同在于没有使用var的变量可以直接被delete删除,但是用var声明的变量则无法删除


查看完整回答
反对 回复 2019-04-16
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

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

查看完整回答
反对 回复 2019-04-16
?
波斯汪

TA贡献1811条经验 获得超4个赞

我就提一个建议:

即使是全局变量,也要用var声明。


查看完整回答
反对 回复 2019-04-16
?
浮云间

TA贡献1829条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-04-16
?
烙印99

TA贡献1829条经验 获得超13个赞

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


查看完整回答
反对 回复 2019-04-16
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-04-16
  • 9 回答
  • 0 关注
  • 862 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号