js bind绑定this指向
1、示例代码
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<title>bind函数绑定this指向</title>
</head>
<body>
<script type="text/javascript">
window.color = "red";
var o = {
color: "blue"
};
function sayColor() {
console.log(this.color);
}
sayColor(); //输出:red
//绑定this指向
var objectSayColor = sayColor.bind(o); //this指向o
objectSayColor(); //输出:blue
</script>
</body>
</html>2、说明
sayColor() 调用 bind() 并传入对象 o ,创建了 o bjectSayColor() 函数。 object-SayColor() 函数的 this 值等于 o ,因此即使是在全局作用域中调用这个函数,也会看到 "blue" 。
3、与call、apply区别
bind与apply、call最大的区别就是:bind不会立即调用,其他两个会立即调用
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!