var obj = {
name: "张三",
age: 18,
mySay: function (fm, t) {
console.log('我是' + this.name + '今年' + this.age + '来自' + fm + '去往' + t);
}
}
var objOther = {
name: '李四',
age: 20
}
obj.mySay()
上述代码定义两个对象,当执行obj中的mySay()方法时,输出结果如下

我们可用使用特定方法来替换对象中的某些属性:
1.使用call()方法,传入参数用字符串形式
obj.mySay.call(objOther, '成都', '北京')

2.使用apply()方法,传入参数用数组的形式
obj.mySay.apply(objOther, ['成都', '北京'])

3.使用bind()方法,传入参数可用字符串可用数组(单个分开的数组)要再次执行
obj.mySay.bind(objOther, ['成都'], ['北京'])()
obj.mySay.bind(objOther, '成都', '北京')()

本文探讨JavaScript中对象的mySay方法如何通过call(), apply()和bind()进行属性替换和参数传递,展示了三种方法在实际应用中的区别与使用场景。
753

被折叠的 条评论
为什么被折叠?



