gpt4 book ai didi

javascript - 我对 javascript 中的一个自定义函数感到困惑,该函数获取一个对象作为参数

转载 作者:行者123 更新时间:2023-11-28 19:24:04 24 4
gpt4 key购买 nike

我正在测试那段代码,但是我不明白为什么它不能正常工作。 myFunc 函数正在获取一个对象作为参数。然后它检查它是否真的是一个对象,如果是,则该函数会警告 length 属性的值。否则,会提示相应的消息。但是,当它警告“它不是一个物体!”时,我感到震惊。

我不明白。你能帮我一下吗?

var myObject = new Object();

myObject ={
length: 400
};

alert(typeof(myObject));

function myFunc(obj) {

if (typeof(obj) == "object") {
return console.log(this.length);
} else {
alert('Its not an object!');
}
};

var a = myFunc.call(myObject);
var b = myFunc(myObject);

alert(a);
alert(b);

最佳答案

首先,当您编写 func.call(someObj) 时,您将该函数的 this 设置为 someObj,因此在您的变体中您将获得参数集为 undefined 因为您根本不提供任何参数并且 typeof undefined == undefined

第二个问题:您返回console.log(this.length); - console.log()不返回任何值,因此您的结果是未定义的.

关于javascript - 我对 javascript 中的一个自定义函数感到困惑,该函数获取一个对象作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28212637/

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