js bind 绑定this指向

Posted web前端开发技术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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" 。

以上是关于js bind 绑定this指向的主要内容,如果未能解决你的问题,请参考以下文章

JS系列 - this

JS-this

bind() 和 箭头函数的this

实用代码片段将json数据绑定到html元素 (转)

js this指向

js this工作原理