使用文字表示法创建JavaScript对象

Rya*_*yan 4 javascript syntax

我正在使用文字符号制作JavaScript对象,但我不确定如何使对象接收这样的参数:

hi.say({title: "foo", body: "bar"});
Run Code Online (Sandbox Code Playgroud)

而不是hi.say("foo", "bar");.

当前代码:

var hi = {
    say: function (title, body) {
        alert(title + "\n" + body);
    }
};
Run Code Online (Sandbox Code Playgroud)

我想要的原因是因为我希望人们能够跳过标题并放置正文,并对许多其他参数执行相同的操作.

这就是为什么我需要像我们如何使用jQuery函数的参数 {parameter:"yay", parameter:"nice"}

PS我也是开放的,用于修改当前方法 - 请记住,会有许多参数,一些是必需的,一些是可选的,并且不能以特定的方式进行排序.

Guf*_*ffa 6

没有特殊的参数语法,只需使该函数采用单个参数,这将是一个对象:

var hi = {
  say: function(obj) {
    alert(obj.title + "\n" + obj.body);
  }
}
Run Code Online (Sandbox Code Playgroud)