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>