javascript - 未定义=真;然后回到未定义?

标签 javascript undefined

一些javascript tomfoolery:

如果这可行

undefined = true;

那你怎么能恢复到将 undefined 设置回表示 undefined 呢?


当然,简单的方法是在将 undefined 设置为 true 之前将 undefined 存储在另一个变量中。还有什么其他方法可以恢复 undefined

首先想到将其设置回去的是 delete undefined;,但没有用。

最佳答案

Alex's answer是确保 undefined 确实未定义的安全实用方法。

但是 JS 非常灵活,所以为了好玩,如果你想恢复全局未定义,那么你可以重新分配 window.undefined 来自新函数作用域的安全性:

(function () {            // Create a new scope
   var a;                 // "a" is undefined in this scope
   window.undefined = a;  // Set the global "undefined" to "a"
})()                      // Execute immediately

进一步考虑这个想法,您可以将上面的内容重新配置为:

undefined = (function () {
   var a;                 // "a" is undefined
   return a;              // return "a"
})();

或者真的,只是这样:

undefined = (function () {
    return;
})();

但实际上,你实际上不需要返回任何东西:

undefined = function(){}();

当然,还有void operator ;-) 噢!

undefined = void 0;

关于javascript - 未定义=真;然后回到未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5725586/

相关文章:

javascript - undefined variable $http 请求

javascript - 最多显示 10 种可用产品

javascript - 使用 AJAX/PHP/SQL 更新选择/选项元素值

php - HTML、Javascript、PHP 和 Actionscript 全部集成在一个 Eclipse 安装中 (2010)

javascript - $ 是未定义的 jQuery 和 Bing Map API

javascript - 假设 undefined 没有被覆盖,在 JavaScript 中真的有多危险?

javascript - 当我们在复选框模型中选择选定记录时,限制取消选择剩余记录

javascript - ngTable - 服务器端分页 getData 错误

php - fatal error : Call to undefined function fetch_assoc() in php

javascript - Sequelize 模型自定义方法返回未定义