Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么在下面的程序中没有删除x?_Javascript - Fatal编程技术网

Javascript 为什么在下面的程序中没有删除x?

Javascript 为什么在下面的程序中没有删除x?,javascript,Javascript,“delete”语句是否仅限于对象?是的,您是对的。delete操作符从对象中删除给定的属性。请查看此链接以获取完整解释:删除只能用于删除对象属性;它不能取消声明变量(请参阅关于它的内容) 如果需要使用此功能,请将x分配给窗口: window.x=1; 变量输出=(函数(){ 删除window.x; 返回窗口.x; })(); 控制台日志(输出)正确,删除设计用于对象属性。它对变量或函数没有影响。delete只能用于从对象中删除属性。它不能取消声明变量。您可以通过将x设置为window的属性,

“delete”语句是否仅限于对象?

是的,您是对的。
delete
操作符从对象中删除给定的属性。请查看此链接以获取完整解释:

删除
只能用于删除对象属性;它不能取消声明变量(请参阅关于它的内容)

如果需要使用此功能,请将
x
分配给
窗口

window.x=1;
变量输出=(函数(){
删除window.x;
返回窗口.x;
})();

控制台日志(输出)正确,
删除
设计用于对象属性。它对变量或函数没有影响。

delete
只能用于从对象中删除属性。它不能取消声明变量。您可以通过将
x
设置为
window
的属性,然后运行
delete window.x
将其散列在一起。阅读MDN上的文档:在要点中说明得非常清楚请对已发布的答案进行投票,而不是复制答案。
var x = 1;
var output = (function() {
    delete x;
    return x;
 })();
console.log(output);