<分区>
考虑以下 Javascript:
function getType(obj){
return(typeof(obj))
}
alert(typeof(obj)) //alerts "undefined" correctly
alert(getType(obj)) //throws an error: ReferenceError: obj is not defined
为什么会发生这种情况?有什么解决方法吗?我正在尝试编写一个函数来检查变量是否存在。
标签 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 - 如何使用 jQuery 和 IE7 检查附加的 <img/> src 属性是相对的还是绝对的?
javascript - 如何根据另一个部分的计算宽度设置一个部分的宽度?
javascript - 如何在 RequestAnimationFrame 中使用带参数的函数?
javascript - 将函数中的文本提供给钛中的 View
javascript - iron-list [first,last]VisibleIndex 绑定(bind)不起作用?