javascript - 检查 JavaScript 中是否设置了变量

标签 javascript

我想要一个 JS 函数来说明是否设置了变量。我在下面定义了 isset()。

正如评论中所描述的,它的行为很奇怪。有什么想法吗?

<html>
    <head></head>
    <body>
        <script type="text/javascript">

          function isset(variableName) {
            return typeof variableName != 'undefined';
          }

          a = 5;
          console.log(isset(a)); 
          console.log(isset(b)); // returns an error.
        </script>
    </body>
</html>

最佳答案

您需要直接执行 typeof 检查,而不是在函数内部执行。

原因与 PHP 中的原因完全相同(除非您使用引用传递,否则您的函数也会中断):

isset(b) 会导致抛出异常,因为 b 是一个 undefined variable ,并且将其作为参数传递尝试读取它,但您无法执行此操作。因此 typef 检查永远不会执行。

关于javascript - 检查 JavaScript 中是否设置了变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15844108/

相关文章:

javascript - 访问存储在 Javascript 数组中的对象

php - 从链接运行 php 代码而不重定向

javascript - Wordpress 的 Ajax 选项卡在用户更改选项卡时加载并运行不同的短代码

javascript - 使用 AJAX 更改 innerHTML 后,页面中的 HTML 恢复为原始 HTML

javascript - 如何在 JavaScript 中调用/运行 Postman API

javascript - Angular5 Instascan - 打开相机不工作 <视频>

javascript - AngularJS Jade 模板中的空白

javascript - HTTP 中的数据传输

javascript - window.open 在 IE 中无法打开

javascript - 复选框选择/取消选择触发器第一次有效,但在后续尝试中失败