javascript - 将未定义的参数传递给函数 - 检查变量是否存在

标签 javascript

<分区>

考虑以下 Javascript:

function getType(obj){
    return(typeof(obj))
}
alert(typeof(obj))  //alerts "undefined" correctly
alert(getType(obj))   //throws an error: ReferenceError: obj is not defined

为什么会发生这种情况?有什么解决方法吗?我正在尝试编写一个函数来检查变量是否存在。

最佳答案

问题与typeof无关。问题是您不能将 undefined variable 传递给函数。

function doNothing(obj){
}
doNothing(obj);

此代码也会导致错误:Uncaught ReferenceError: obj is not defined
因此,您在函数中编写什么代码并不重要,因为它不会被调用。错误发生在函数调用之前。

typeof 是运算符,不是函数。 这就是为什么它的行为方式与函数不同。

关于javascript - 将未定义的参数传递给函数 - 检查变量是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16942775/

相关文章:

javascript - 使用javascript从url中读取当前pageurl

javascript - Ruby on Rails - 将 JavaScript 变量从 Controller 发送到外部 Javascript Assets 文件

javascript - Nodejs 数百个坐标之间的距离计算阻塞了我的服务器

javascript - 如何将变量添加到选择器中

javascript - 如何使用 jQuery 和 IE7 检查附加的 <img/> src 属性是相对的还是绝对的?

javascript - 如何根据另一个部分的计算宽度设置一个部分的宽度?

c# - 使用javascript选中复选框启用文本框

javascript - 如何在 RequestAnimationFrame 中使用带参数的函数?

javascript - 将函数中的文本提供给钛中的 View

javascript - iron-list [first,last]VisibleIndex 绑定(bind)不起作用?