这:对多个对象执行相同的代码

This : execute same code for multiple object

function importantPerson () {
    console.log (this.name)
}


const name = 'Sunny';
const obj1 = {
    name : 'Cassy',
    importantPerson : importantPerson
}

谁能解释一下这段代码是什么意思 importantPerson : importantPerson

将 属性 视为实际功能的地址持有者。

importantPerson (property holding pointer to function) : importantPerson(function)

所以当你

obj1.importanPerson()

调用obj1importantPerson键将执行该功能。

有一个对象obj1,键为["importantPerson"],其值为函数importantPerson

function importantPerson () {
    console.log (this.name)
}


const name = 'Sunny';
const obj1 = {
    name : 'Cassy',
    importantPerson : importantPerson
}


obj1.importantPerson()

正如@Nick评论的那样:

importantPerson is a property in your object which points to a reference of your importantPerson function

试试下面的例子,让它更清楚:

function importantPerson() {
    return this.name;
}

const name = 'Sunny';
const obj1 = {
    name: 'Cassy',
    importantPerson: importantPerson
}
const obj2 = {
    name: 'name2',
    importantPerson: importantPerson
}
console.log(obj1.importantPerson());
console.log(obj2.importantPerson());

obj1 中的 importantPerson 是引用 importantPerson 函数的键。 所以当你做这个的时候:

obj1.importantPerson

您正在调用函数 importantPerson