call的一点奇怪的使用

Object.prototype.hasOwnProperty.call(initModal, method) 

解释: 在这个特定的代码中,它用于检查 initModal 对象是否具有名为 method 的属性。 Object.prototype.hasOwnProperty 是一个内置的 JavaScript 方法,它可以检查一个对象是否具有指定的属性。通过使用 call 方法,我们可以将这个方法应用到 initModal 对象上。 这种方式可以避免使用 initModal.hasOwnProperty(method) 的直接调用,因为在某些情况下, initModal 对象可能具有一个名为 hasOwnProperty 的属性,这可能导致调用出现错误。 通过使用 Object.prototype.hasOwnProperty.call(initModal, method) ,我们确保在检查属性时,不会受到原型链上的属性的干扰,并且避免了潜在的错误。

function foo(a, b) {
  console.log(a, b);
}


const bar = foo.bind(this, 1);

bar(2); // 1, 2
function foo(args) {
  console.log(this.name, args);
}

const obj = {
  name: 'John'
};

const boundFn = foo.bind(obj);
boundFn('Hello'); // John, Hello
 

可以这么写

function foo(args) {
  console.log(this.name, args);
}

const obj = {
  name: 'John'
};

foo.bind(obj)('Hello')

你可能感兴趣的:(react.js,javascript,前端)