gpt4 book ai didi

javascript - 为什么javascript中的函数不接受 undefined variable ?

转载 作者:行者123 更新时间:2023-11-30 10:17:38 25 4
gpt4 key购买 nike

我创建了一个函数来获取有关变量的类型信息。除一种情况外,该功能运行良好。如果我传递一个 undefined 变量,浏览器不会执行任何代码并显示错误。函数如下:

function getType(v) {
if (typeof v === 'undefined')
return 'undefined';
else if (v === null) //typeof v will return object if it is null
return 'null';
else if (v instanceof Array) //typeof v will return object if it is an array
return 'array';
else
return typeof v;
}

例子:

getType(thisisundefinedvariable);

控制台显示引用错误,根据代码它必须返回未定义。

编辑

浏览器已经疯了。有什么区别:

getType(thisisundefinedvariable); //This does not work
AND
getType(window.thisisundefinedvariable); //This works

最佳答案

错误不是来自函数内部,而是来自函数调用。换句话说,试图在函数调用中引用 undefined variable 就是错误。您不能强制语言允许您这样做;这是完全错误的。

现在,这应该没问题了:

var obj = {};
alert( getType( obj.noSuchProperty ) );

关于javascript - 为什么javascript中的函数不接受 undefined variable ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23032188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com