带选项的Javascript对象函数

Javascript object function with options

本文关键字:对象 函数 Javascript 选项      更新时间:2023-09-26

我正在尝试创建一个具有选项的函数。我相信我必须使用对象,但到目前为止还没有成功。我说的选项是这样的:

insertButton({
    settings:{
        value1:'Some text'      
    }
});
function insertButton(settings){
    settings = new Object();    
    document.write(settings.value1);
}

显然,这是行不通的,但我正试图表明我的意思。也许有人能帮忙。

我问,因为现在我有一个简单的函数,我可以用严格的顺序传递值。与选项,我想是不可靠的变量顺序在函数中。例如:

function insertButton2(value1,value2,value3){
    document.write(value1);
    document.write(value2);
    document.write(value3);   
}
insertButton2('a','','c');  //empty commas to skip value2 

留下空逗号以确保'c'是value3对我来说不方便。这就是为什么我想尝试对象,选项

您只需向函数传递一个具有所需键/值的对象:

function parameterify(params) {
    console.log(params.isAwesome);
}
parameterify({
    isAwesome : true
});
//logs true

你有两个错误:

  1. js中没有名称参数,因此{settings:{}}将传递一个带有设置键的对象(因此在函数内部,您必须执行settings.settings)

  2. 您在函数(settings = new Object();)的顶部重新声明了settings,无论您传入什么都会覆盖它。作为旁注,new Object是不确定的-对象文字{}更酷

你在函数的第一行将settings覆盖为空白对象,将其取出,它将起作用…

编辑:对不起,从参数中删除设置对象应该只是
insertButton({
       value1:'Some text'      
});

试试这个

function insertButton(settings){
    document.write(settings.value1);
}
insertButton({
    value1:'Some text'      
});