bind()方法使用说明:
条件准备: 准备一个对象obj, 一个函数abc()
将一个函数(如:abc())调用bind(obj)方法后,该obj就拥有了一个属性,该属性的属性名是bind()方法调用后的返回值(假设为f);值就是函数abc(); 当调用f()时,传递给f()的参数会传递给abc()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
function f(y) {
console.log(this);
console.log("x: " + this.x);
console.log("y: " + y);
return this.x + y;
}
var o = {x: 1};
var g = f.bind(o);
console.log(g(2));
console.log("*******************************");
var abc = {
x: 1,
g: function f(y) {
console.log(this);
console.log("x: " + this.x);
console.log("y: " + y);
return this.x + y;
}
};
// abc.g(2)
console.log(abc.g(2));
</script>
</body>
</html>
文章演示了JavaScript的bind方法如何将函数绑定到特定对象上,创建一个新的函数。bind方法使得在调用函数时,`this`关键字总是指向预设的对象(在这里是`obj`),并可以预先设置传递的参数。示例中展示了bind用于改变函数执行上下文以及参数传递的效果。
286

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



