gpt4 book ai didi

javascript - 全局对象和赋值 - 为什么它能识别赋值?

转载 作者:行者123 更新时间:2023-12-02 17:21:40 25 4
gpt4 key购买 nike

当我在控制台中运行时,我不太明白为什么它会产生零结果。我认为 MyObject 和 myFunc 都是全局的。为了正确理解这一点,我缺少什么概念?

myObject = {
length: 400,
};

function myFunc () {
return console.log(this.length);

}

myFunc(myObject.length); // equals zero

最佳答案

它向您显示 window.length 的值(即文档中的帧/iframe 的数量)。要让 myFunc 显示您传递给它的对象的 length 值,您必须使用该参数:

function myFunc (obj) {
return console.log(obj.length);
}

如果您想探索implicit globals (您的 myObject 是一个隐式全局变量;它们是一件坏事(tm)),那么 myFunc 应该在不带参数的情况下调用,并且应该使用 myObject.length 或可能的 this.myObject.length (两者效果相同)。

关于javascript - 全局对象和赋值 - 为什么它能识别赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23895672/

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