【问题标题】:How to pass a parameter to a function of an object in Javascript?如何在Javascript中将参数传递给对象的函数?
【发布时间】:2013-10-06 08:49:17
【问题描述】:

抱歉,如果这是重复的,但我找不到我正在寻找的答案,尽管我的问题似乎很简单。

这就是我所拥有的:

function myMain (myParam) {

    var myObj = {

        myVal1 : 'demo',
        myFunc : function (myParam) {
            console.log (myParam);
        }
    };

    runDemo(myObj);

}

我的问题是我希望console.logmyMainmyParam,但它是undefined - 为什么?

如何调用myMain('works') 以便控制台写入works

仅供参考:runDemo 也被这个单个对象调用,并且 myFunc 作为对象值之一 - 没有办法解决这个问题。感谢您的帮助,谢谢。

【问题讨论】:

    标签: javascript function object parameter-passing


    【解决方案1】:

    让 myFunc 不带这样的参数:

    function myMain (myParam) {
    
        var myObj = {
    
            myVal1 : 'demo',
            myFunc : function () {
                console.log (myParam);
            }
        };
    
        runDemo(myObj);
    
    }
    

    在这种情况下,myFunc 保留变量 myParam 的值。这称为closure

    【讨论】:

    • 很好,这行得通 - 我仍然不明白为什么,但确实如此......感谢您的超快速回答!我会查找“关闭”,但请随时进一步解释;)
    • 类似这样:var a = 'foo'; function bar(){alert(a);}
    猜你喜欢
    • 1970-01-01
    • 2020-11-19
    • 2012-07-09
    • 2021-04-15
    • 2018-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    相关资源
    最近更新 更多