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不會立即調用,其他兩個會立即調用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM