将新元素添加到现有对象

Min*_*iel 38 javascript jquery object

我一直在寻找一种方法来向现有对象添加新元素,就像推送数组一样

我试过这个并没有用:

var myFunction = {
    Author: 'my name ',
    date: '15-12-2012',
    doSomething: function(){
        alert("helloworld")
    }
};
myFunction.push({
    bookName:'mybook',
    bookdesc: 'new'
});
console.log(myFunction);
Run Code Online (Sandbox Code Playgroud)

Dan*_*nte 62

用这个:

myFunction.bookName = 'mybook';
myFunction.bookdesc = 'new';
Run Code Online (Sandbox Code Playgroud)

或者,如果您使用jQuery:

$(myFunction).extend({
    bookName:'mybook',
    bookdesc: 'new'
});
Run Code Online (Sandbox Code Playgroud)

push方法是错误的,因为它属于该Array.prototype对象.

要创建命名对象,请尝试以下操作:

var myObj = function(){
    this.property = 'foo';
    this.bar = function(){
    }
}
myObj.prototype.objProp = true;
var newObj = new myObj();
Run Code Online (Sandbox Code Playgroud)


sac*_*een 13

只是做myFunction.foo = "bar",它会添加它.myFunction是这种情况下对象的名称.


par*_*xiR 6

Danilo Valente 上面提到的 jQuery 语法不起作用。应该是这样的——

$.extend(myFunction,{
    bookName:'mybook',
    bookdesc: 'new'
});
Run Code Online (Sandbox Code Playgroud)