有没有一种方法可以从同一对象的方法内部创建对象属性?

时间:2018-09-26 10:06:06

标签: javascript methods properties javascript-objects

假设我有一个对象life

var life = {
    name: "John Doe",
    age: 45
};

在网页加载5秒后,我调用了die方法:

setTimeout(life.die, 5000);

var life = {
    name: "John Doe",
    age: 45,
    die: function() {
        //Die
    }   
};      

如何在方法dead中创建属性die?这样简单吗?

die: function() {
    this.dead = true;
}

还是这个?

die: function() {
    var this.dead = true;
}    

还是我需要使用其他东西?

1 个答案:

答案 0 :(得分:1)

您可以在函数范围内使用变量名称life并在内部分配dead属性,它将自动分配给life对象。如果您使用的是这意味着它将分配给窗口对象。

     
    
     var life = {
            name: "John Doe",
            age: 45,
            die:  () => {
                life.dead = true;
                console.log(life)
            }
        };
        
        setTimeout(life.die, 5000);