可能重复:
javascript中的delete运算符
我有以下代码.我不明白为什么第二次删除失败.
另外,我注意到foo函数即使在我为foo分配了其他内容之后仍然存在.
有没有办法参考这个功能?
(假设我想要一个bar2=foo()像bar任务一样的行为).
> function foo(){var bar=0; return function(){return bar++;}}
undefined
> bar = foo()
function () {return bar++;}
> bar()
0
> bar()
1
> delete bar
true
> foo = foo()
function () {return bar++;}
> foo()
0
> foo()
1
> delete foo
false
Run Code Online (Sandbox Code Playgroud)
谢谢
delete仅适用于可删除属性.函数声明如下:
function f(){
}
Run Code Online (Sandbox Code Playgroud)
不可删除.
尝试将此语法用于原始函数声明:
foo = function (){var bar=0; return function(){return bar++;}}
Run Code Online (Sandbox Code Playgroud)
在这里看到:http://jsfiddle.net/Sxnaw/
您可以通过本文深入解释可删除和不可删除的属性:http://perfectionkills.com/understanding-delete/
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |