成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

復(fù)習 JavaScript 關(guān)鍵字 this

godiscoder / 2485人閱讀

摘要:方法調(diào)用當一個函數(shù)作為一個對象的屬性調(diào)用時候下標表達式或者點表達式稱之為方法調(diào)用,此時指向這個對象。作為構(gòu)造函數(shù)調(diào)用的方式稱為的構(gòu)造函數(shù),的過程中構(gòu)造函數(shù)的對象的屬性和方法將被加到新對象的屬性上。

this

this是js的一個關(guān)鍵字,只能在函數(shù)內(nèi)部使用,在函數(shù)運行時候自動生成的內(nèi)部對象,代表函數(shù)運行時候的作用域指向,使用頻率極高!

常用的用法與作用域指向

函數(shù)調(diào)用:js里面規(guī)定當一個函數(shù)并非某一個對象,直接調(diào)用的時候,稱之為函數(shù)調(diào)用,此時this指向全局對象Global。

var t = 1;
function test(){
    console.log(this.t)
}
test() //1

方法調(diào)用:當一個函數(shù)作為一個對象的屬性調(diào)用時候([fn]下標表達式或者.fn點表達式)稱之為方法調(diào)用,此時this指向這個對象。

var t =1;
var obj= {
     t:2,
     test :function(){
         console.log(this.t)
     }
}
obj.test() // 2

作為構(gòu)造函數(shù)調(diào)用:var test = new fn() 的方式 稱fn為test的構(gòu)造函數(shù),new的過程中構(gòu)造函數(shù)的this對象的屬性和方法將被加到新對象的屬性上。

    function fn(){
        this.t = 1
    }
    var test = new fn();
    test.t // 1
    //fn的this對象會被加到新生成的test對象上 

4:apply,call,bind方式調(diào)用:apply,call,bind都可以改變一個函數(shù)運行時候的this指向。

var t = 1
var test = function(){
    console.log(this.t)
}
test() //1
test.call({t:2}) //2
test.apply({t:3})//3
test.bind({t:4})()//4

關(guān)于bind的分析,可以看另一篇文章:bind方法分析與實現(xiàn)

看完了上面4種調(diào)用方式可以得出一個結(jié)論this指向的作用域永遠是函數(shù)運行時候決定的

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/80850.html

相關(guān)文章

  • 重新復(fù)習js

    摘要:復(fù)習基礎(chǔ)到底是什么的應(yīng)用場合極其廣泛。常量不可以通過重新賦值改變其值,也不可以在代碼運行時重新聲明。布爾對象是原始布爾數(shù)據(jù)類型的一個包裝器整數(shù)整數(shù)可以用十進制基數(shù)為十六進制基數(shù)為八進制基數(shù)為以及二進制基數(shù)為表示。 復(fù)習js day1 js基礎(chǔ) JavaScript 到底是什么 JavaScript 的應(yīng)用場合極其廣泛。簡單到幻燈片、照片庫、浮動布局和響應(yīng)按鈕點擊。復(fù)雜到游戲、2D 和 ...

    xuexiangjys 評論0 收藏0
  • 【重溫基礎(chǔ)】15.JS對象介紹

    摘要:構(gòu)造函數(shù)通常首字母大寫,用于區(qū)分普通函數(shù)。這種關(guān)系常被稱為原型鏈,它解釋了為何一個對象會擁有定義在其他對象中的屬性和方法。中所有的對象,都有一個屬性,指向?qū)嵗龑ο蟮臉?gòu)造函數(shù)原型由于是個非標準屬性,因此只有和兩個瀏覽器支持,標準方法是。 從這篇文章開始,復(fù)習 MDN 中級教程 的內(nèi)容了,在初級教程中,我和大家分享了一些比較簡單基礎(chǔ)的知識點,并放在我的 【Cute-JavaScript】系...

    booster 評論0 收藏0
  • 復(fù)習javascript中call,apply,bind的用法

    摘要:綁定函數(shù)被調(diào)用時,也接受預(yù)設(shè)的參數(shù)提供給原函數(shù)。一個綁定函數(shù)也能使用操作符創(chuàng)建對象這種行為就像把原函數(shù)當成構(gòu)造器。 一直很難理解js中的call apply bind,在w3schools,mdn閱讀了,也看了很多相關(guān)的文章,今天我來寫下我理解的call apply bind 首先創(chuàng)建一個函數(shù) function man(){} man.prototype = { name: ...

    darryrzhong 評論0 收藏0
  • JS函數(shù)的一些基礎(chǔ)知識

    摘要:為了更好的講解構(gòu)造函數(shù)原型原型鏈等,我們需要復(fù)習一下函數(shù)的一些基礎(chǔ)知識。閉包在復(fù)習了函數(shù)的相關(guān)基礎(chǔ)知識之后,我們終于可以進入閉包。我們可以這樣理解閉包,首先,閉包是一個函數(shù),是一個什么樣子的函數(shù)呢是一個可以訪問另一個函數(shù)中變量的函數(shù)。 為了更好的講解構(gòu)造函數(shù)、原型、原型鏈等,我們需要復(fù)習一下函數(shù)的一些基礎(chǔ)知識。接下來,就讓我們一起回味一些JS的基礎(chǔ)知識點。 全局變量VS局部變量 簡單粗...

    Ashin 評論0 收藏0
  • 復(fù)習Javascript專題(三):面向?qū)ο螅▽ο蟮膭?chuàng)建與繼承,原型及原型鏈)

    摘要:在創(chuàng)建子類實例時,不能向超類型的構(gòu)造函數(shù)中傳遞參數(shù)。構(gòu)造函數(shù)繼承子類傳進的值是基本思想是在子類構(gòu)造函數(shù)的內(nèi)部調(diào)用超類或父類型構(gòu)造函數(shù)。繼承保證構(gòu)造函數(shù)指針指向如果想同時繼承多個,還可使用添加屬性的方式類繼承, OOP:Object Oriented Programming 面向?qū)ο缶幊獭?題外話:面向?qū)ο蟮姆秶鷮嵲谔螅劝堰@些大的東西理解理解。 1.什么是對象? 根據(jù)高程和權(quán)威指南上...

    testHs 評論0 收藏0

發(fā)表評論

0條評論

godiscoder

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<