объект использует собственный метод в JavaScript - PullRequest
1 голос
/ 14 мая 2019

может ли объект определить свойство для использования собственного метода?

litk this

obj = {
    prt:function(){console.log("HELLO")}
    prt0:obj.prt()
}

Я хочу obj.prt0 -> "HELLO"

Ответы [ 2 ]

3 голосов
/ 14 мая 2019
var obj = {
    prt:function(){
        console.log("HELLO")
        return "HELLO";
    },
    prt0: function(){
        this.prt()
    }
}
obj.prt0;    //do nothing, it is only a method
obj.prt0();  //execute method, will print Hello
1 голос
/ 14 мая 2019

Если вы хотите, чтобы obj.prt0 имел значение "HELLO", то вы поступите правильно: используйте this, чтобы упростить его, и убедитесь, что вы return из функции.Также вам нужно определить prt0 после создания объекта:

let obj = {
  prt: function() {
    console.log("HELLO");
    return "HELLO";
  }
};

obj.prt0 = obj.prt();

console.log(obj.prt0);

Выше приведено obj.prt для создания значения.Если вы хотите, чтобы prt0 был ссылкой на prt - поэтому, если вы звоните prt0, это вызывает prt, вы можете просто сделать это:

let obj = {
  prt: function() {
    console.log("HELLO");
    return "HELLO";
  }
};

obj.prt0 = obj.prt;

console.log(obj.prt0());

Выше также вызовет console.log("HELLO") дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...