JavaScript函数访问对象属性

时间:2016-07-26 16:17:10

标签: javascript

一些愚蠢的问题但是..为什么下面的代码只返回一个空字符串:

With TabData.NotesBox
    For i = LBound(ProdNotes) to UBound(ProdNotes)
        .Text = .Text & ProdNotes(i) & Chr(13)
    Next
End With

3 个答案:

答案 0 :(得分:7)

因为你没有将名称作为任何东西,所以它正在寻找一个全局变量。 尝试更换

console.log(name);

console.log(this.name);

答案 1 :(得分:1)

您可以使用this这样的关键字 - console.log(this.name);。在您的代码结果中,您会看到一个空字符串而不是未定义的错误,因为window.name变量已经存在并且没有任何内容使用对象中的name变量

答案 2 :(得分:1)

以下对Rich Linnell的评论回答:

foo用于对象的函数作用域示例,并且用于回调的作用域。

代码:

var foo = "global",
    bar = "global",
    a = {
    foo: (callback) => {
        // var foo = 'local';
        console.log('foo: ' + foo);
        callback();
    }
};

(() => {
    // var bar = "parent";
    a.foo(() => {
        // var bar = "local";
        console.log('bar: ' + bar);
    });
})();