回到课程

bind 过后的函数属性

重要程度: 5

函数有一个包含某个值的属性。bind 之后它会改变吗?为什么,阐述一下?

function sayHi() {
  alert( this.name );
}
sayHi.test = 5;

let bound = sayHi.bind({
  name: "John"
});

alert( bound.test ); // 输出将会是什么?为什么?

答案:undefined.

bind 的结果是另一个对象,它并没有 test 属性。