91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中this指向怎么用

發布時間:2021-11-14 17:31:08 來源:億速云 閱讀:208 作者:小新 欄目:開發技術

這篇文章主要介紹JavaScript中this指向怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

    JavaScript中this也是一件很神奇 事情,在面向對象(比如java)中表示一個當前的對象引用,但是在JavaScript中this不是固定不變的,而是隨著運行環境的改變而改變。

    this

    老規矩先看代碼:

    方法中

    function test(){
        console.log(this);
    }

    JavaScript中this指向怎么用

    對象中

    function test(){
        console.log(this);
    }

    JavaScript中this指向怎么用

    在方法中,this表示該方法所屬的對象。因為第一個是window上的方法,所以打印了window,而eat方法是Person方法,所以打印除了對象Person。

    所以可以看出單獨在控制臺使用this, 表示全局對象。

    JavaScript中this指向怎么用

    隱藏的this

    在對象,可以提前聲明一個一個:

    var Person1={
        name:"張三",
        age:18
    }
    var Person2={
        name:"李四",
        age:19
    }

    這樣寫會很麻煩,所以可以借鑒一下java類的概念,可以這樣:

    var Person=function(name,age){
        this.name=name,
        this.age=age
           
    }
    var Person1=new Person("張三",18);
    var Person2=new Person("李四",19);

    JavaScript中this指向怎么用

    其實在new的時候隱藏了一個return this,如果不使用new的話,發現其沒有返回這個新建的對象。

    JavaScript中this指向怎么用

    那么現在補全一下看:

    var Person=function(name,age){
        this.name=name,
        this.age=age
        return this;
    }
    var Person1=new Person("張三",18);
    var Person2=new Person("李四",19);

    JavaScript中this指向怎么用

    這樣的話,甚至可以偽造一個this的效果:

    var Person=function(name,age){
        var that={};
        that.name=name,
        that.age=age
        return that;
    }
    var Person1=new Person("張三",18);
    var Person2=new Person("李四",19);

    JavaScript中this指向怎么用

    嚴格模式

    this在嚴格模式和非嚴格模式下有些神奇的情況

    function test() {
      return this;
    }
    
    # 如果js前面添加"use strict" 代表是嚴格模式
    "use strict";
    function test() {
      return this;
    }

    JavaScript中this指向怎么用

    這個可以看出在非嚴格模式下函數中,函數的所屬者默認綁定到 this 上。所以可以打印出全局,但是嚴格模式下函數是沒有綁定到 this 上,這時候 this 是 undefined。

    以上是“JavaScript中this指向怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    迁西县| 九寨沟县| 黑山县| 武穴市| 忻城县| 房产| 巴楚县| 新和县| 沈阳市| 许昌县| 壶关县| 华宁县| 尚义县| 桃源县| 曲靖市| 洮南市| 比如县| 长丰县| 江山市| 商城县| 沂源县| 建阳市| 乐陵市| 安吉县| 太和县| 克东县| 泽库县| 新和县| 沈丘县| 磐石市| 雷山县| 怀化市| 阿拉善盟| 临朐县| 大余县| 左云县| 宁夏| 中阳县| 雷波县| 江都市| 类乌齐县|