javascript - 函数返回所有属性,但必须只返回被调用的属性

标签 javascript

我正在尝试编写一些东西,以便我可以将我的所有函数很好地整齐地封装到一个地方,并通过那里的属性名称调用它们,但发生的事情是,每当我调用一个属性时,它都会返回所有。

如何让 main('test').f3; 只记录 'f3test' 并仍然保持我的概念。

var main = function (t) {

    var f1 = function () { console.log('f1' + ' ' + t); };
    var f2 = function () { console.log('f2' + ' ' + t); };
    var f3 = function () { console.log('f3' + ' ' + t); };
    var f4 = function () { console.log('f4' + ' ' + t); };
    var f5 = function () { console.log('f5' + ' ' + t); };
    var f6 = function () { console.log('f6' + ' ' + t); };
    var f7 = function () { console.log('f7' + ' ' + t); };
    var f8 = function () { console.log('f8' + ' ' + t); };


    return {
        f1: f1(),
        f2: f2(),
        f3: f3(),
        f4: f4(),
        f5: f5(),
        f6: f6(),
        f7: f7(),
        f8: f8(),
    }


}




//this
    main('test').f3; 
//will console.log
//f1test
//f2test
//f3test
//f4test
//f5test
//f6test
//f7test
//f8test

最佳答案

稍微更改一下代码:

return {
    f1: f1,
    f2: f2,
    f3: f3,
    f4: f4,
    f5: f5,
    f6: f6,
    f7: f7,
    f8: f8 // <-- don't put last comma here
}

() 立即执行该函数,您需要提供一个引用。然后你这样调用它:

main('test').f3(); // f3 test

关于javascript - 函数返回所有属性,但必须只返回被调用的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15920383/

相关文章:

javascript - 在 Chrome 扩展弹出窗口上显示延迟窗口变量

javascript - javascript 中的 Math.round MidPointRounding.AwayFromZero

javascript - 获取另一个js文件中html元素的值

javascript - 我的私有(private)消息不适用于 socket.io

javascript - Photoshop Javascript 编码错误

javascript - 在参数javascript中传递时不要将数组连接为字符串

javascript - Mongo的findOneAndReplace如何处理id?

javascript - 使用 Javascript 发出 post 请求

javascript - 使用 php 附加到页面末尾

javascript - 如何从javascript调用一个php文件?