这个问题在这里已有答案:
- 将未定义的变量传递给函数时出错? 1个答案
1932
2018-06-05 14:35
起源
好吧,只是检查一下 某物 具有该名称的名称存在于您可以使用的全局上下文中 if (window["obj"])。 - Shadow Wizard
答案:
这个问题与typeof无关。问题是你不能将未定义的变量传递给函数。
function doNothing(obj){
}
doNothing(obj);
此代码也会导致错误: Uncaught ReferenceError: obj is not defined
因此,在函数内部编写的代码无关紧要,因为它不会被调用。错误发生在函数调用之前。
typeof
是一个运算符,而不是一个函数。
这就是为什么它的行为与函数不同。
6
2018-06-05 14:45
typeof
是一个操作符,而不是一个函数,因此具有函数不能具有的功能。没有办法做你想做的事。
4
2018-06-05 14:38
而且,作为操作员,不需要操作数周围的括号。 - Alnitak
我想是足够公平的。谢谢(你的)信息。 - cronoklee
一旦尝试传递未定义的对象,您的函数就会失败。你无法封装 typeof()
功能。嗯,你可以,但是当传递未定义的对象时它总会抛出错误。
3
2018-06-05 14:37