我想要一个 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/