rzglei 发表于 2008-11-24 20:23
我刚开始学习JAVASCRIPT对下面的问题不是很理解,请帮忙解释下:
我刚开始学习JAVASCRIPT对下面的问题不是很理解,请帮忙解释下:
var theDate= new Date();
与 theDate= new Date();
他们之间的有什么区别啊。
用
delete 可以把 theDate= new Date(); 删了
对var theDate= new Date();不起作用;
frankqnj 发表于 2008-11-24 21:49
你不要问 theDate=new Date() 是怎么回事了
曾经很多人 用这种方式 在 函数内 声明全局变量...
请务必在使用变量前先声明...
如果你需要用到全局变量 请 使用 window.theDate=new Date();
至于为什么 你的 thedDate 可以用delete 删除 而var 不行
这是因为 你的var theDate 是window对象的私有属性... 私有属性 是不能被delete的
而 theDate 则会被看作是 window环境内 this.theDate . 即动态属性 所以可以被delete
特例的 通过obj.prototype 这种 修改或扩展类的 原形属性 方式 delete也是无效的...
所以 你大可理解为 delete 专门删除 对象 的动态属性
最后总结一下. 仍然建议放弃 不声明变量 就使用的方式... 大多数人 使用这种方式的唯一目的 是全局变量
我们现在 通过window.theDate 或window['theDate'] 的方式 代替他. 以便养成好习惯.
rzglei 发表于 2008-11-24 22:41
回复 第2楼 frankqnj 的帖子
谢谢版主了,[em07] [em07]
页:
[1]