国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

javscript中this初探

Xufc / 2747人閱讀

摘要:是什么是一個(gè)特別的關(guān)鍵字,是自動(dòng)定義在所有函數(shù)和全局的作用域中。是在運(yùn)行時(shí)綁定的,而不是聲明時(shí)綁定的。小結(jié)的指向取決于函數(shù)執(zhí)行時(shí)的塊級(jí)上下文

This

This是什么:
this是一個(gè)特別的關(guān)鍵字,是自動(dòng)定義在所有函數(shù)和全局的作用域中。this是在運(yùn)行時(shí)綁定的,而不是聲明時(shí)綁定的。

為什么要有this
假設(shè)不存在this關(guān)鍵字,那么對(duì)于一個(gè)函數(shù)根據(jù)不同上下文背景下的復(fù)用就用傳入?yún)?shù)

        var obj = Object.create(null);

        obj.name = "Nico";

        function speak(context) {
            console.log(context.name + " speaks a word");
        }

        speak(obj);

this指向的幾種情況:
1、一般情況下,this是指向當(dāng)前執(zhí)行時(shí)的對(duì)象

var person = {
    name: "nico",
    getName: function() {
        console.log(this.name)
    }
}

var name = "siip";

person.getName(); //nico

person對(duì)象調(diào)用getName方法,所以當(dāng)前this指向的是person對(duì)象

2、如果沒(méi)有明確對(duì)象時(shí),this指向全局對(duì)象(在非嚴(yán)格模式下,在嚴(yán)格模式下,函數(shù)綁定undefined,也就是this指向undefined)

var name = "siip";

function className() {
    console.log(this.name);
}

className();//siip

其實(shí)這里的className可相似于window.className,所以當(dāng)前this指向window
3、setTimeout、setInterval、匿名函數(shù)this指向全局對(duì)象

var person = {
    name: "nico",
    fns: function() {
        setTimeout(function() {
            console.log(this.name)
        }, 100);//siip

        setInterval(function() {
            console.log(this.name)
        }, 100);//siip

        (function() {
            console.log(this.name)
        })()//siip
    }
}
var name = "siip";
person.fns();

這些方法都比較容易理解this的指向,因?yàn)槟涿瘮?shù)或者定時(shí)器函數(shù)都是掛載window上的函數(shù),調(diào)用者是window對(duì)象,這些函數(shù)里聲明的函數(shù),也指向調(diào)用者,類(lèi)似于:

        function foo() {
            function bar() {
                console.log(this)
            }
            bar();
        }

        foo();

4、apply、call能夠改變this指向(無(wú)參數(shù)時(shí)或者傳入null、undefined,指向window)

    var person = {
        name: "nico",
        applyFns: function() {
            console.log(this.name)
        }
    }
    var name = "siip";
    person.applyFns();//nico
    person.applyFns.apply();//siip

有時(shí)候,

5、new Function 構(gòu)造函數(shù)中的this指向該構(gòu)造函數(shù)new出來(lái)的對(duì)象。

因?yàn)閚ew Function的過(guò)程大概:

創(chuàng)建一個(gè)新的空對(duì)象

空對(duì)象_proto_指向Function.prototype

空對(duì)象與當(dāng)前函數(shù)調(diào)用的this綁定

返回新創(chuàng)建對(duì)象

所以new Function中的this指向return的對(duì)象。

小結(jié)

this的指向取決于函數(shù)執(zhí)行時(shí)的塊級(jí)上下文

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/107403.html

相關(guān)文章

  • javscript學(xué)習(xí)筆記

    摘要:一直對(duì)抱有敬畏的態(tài)度,也沒(méi)有一直深入學(xué)習(xí)。當(dāng)學(xué)到各種框架的時(shí)候才發(fā)現(xiàn)力不從心,感覺(jué)到了基礎(chǔ)的重要性,重新認(rèn)真的系統(tǒng)的學(xué)習(xí)一下。 一直對(duì)javscript抱有敬畏的態(tài)度,也沒(méi)有一直深入學(xué)習(xí)。當(dāng)學(xué)到各種js框架的時(shí)候才發(fā)現(xiàn)力不從心,感覺(jué)到了javascript基礎(chǔ)的重要性,重新認(rèn)真的系統(tǒng)的學(xué)習(xí)一下。showImg(http://static.xiaomo.info/images/javas...

    hedge_hog 評(píng)論0 收藏0
  • javscript插件匯總

    摘要:更新單元測(cè)試,已使用,,,使用測(cè)試覆蓋率,并集成配合來(lái)做持續(xù)化構(gòu)建,可以參考本項(xiàng)目的配置文件和的配置文件。判斷是否然后記得在文件中暴露函數(shù)單元測(cè)試在文件新建測(cè)試用例然后記得在中引入之前創(chuàng)建的測(cè)試用例腳本。 前言作為戰(zhàn)斗在業(yè)務(wù)一線的前端,要想少加班,就要想辦法提高工作效率。這里提一個(gè)小點(diǎn),我們?cè)跇I(yè)務(wù)開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)重復(fù)用到日期格式化、url參數(shù)轉(zhuǎn)對(duì)象、瀏覽器類(lèi)型判斷、節(jié)流函數(shù)等一類(lèi)函數(shù)...

    K_B_Z 評(píng)論0 收藏0
  • Promise初探

    摘要:可以根據(jù)省份城市和區(qū)對(duì)組件設(shè)置默認(rèn)值。獲取省份獲取城市獲取區(qū)出現(xiàn)層嵌套的回調(diào),這就是傳說(shuō)中的惡魔金字塔。相比回調(diào)嵌套,層次更分明,可讀性強(qiáng)。基本原理學(xué)習(xí)無(wú)論是在異步操作的執(zhí)行之前或執(zhí)行之后,用對(duì)象的方法注冊(cè)回調(diào),回調(diào)都能一致執(zhí)行。 遭遇惡魔金字塔 項(xiàng)目需要,封裝了一個(gè)省市區(qū)的地址選擇器組件。 可以根據(jù)省份id、城市id和區(qū)id對(duì)組件設(shè)置默認(rèn)值。邏輯是這樣的: 獲取省份列表,選中默認(rèn)省...

    mj 評(píng)論0 收藏0
  • Vue初探-日期選擇器

    摘要:之前用用面向?qū)ο蟮姆椒▽?shí)現(xiàn)過(guò)日期選擇器,最近在練習(xí),現(xiàn)在用實(shí)現(xiàn)一遍。需求設(shè)定實(shí)現(xiàn)一個(gè)日期選擇器,默認(rèn)顯示,高亮顯示。能夠點(diǎn)擊上一月下一月進(jìn)行日期跳轉(zhuǎn)。實(shí)現(xiàn)日期選擇有兩個(gè)比較關(guān)鍵的方法獲取當(dāng)月天數(shù),以便循環(huán)遍歷多少天。 之前用jquery用面向?qū)ο蟮姆椒▽?shí)現(xiàn)過(guò)日期選擇器,最近在練習(xí)vue,現(xiàn)在用vue實(shí)現(xiàn)一遍。發(fā)現(xiàn)vue用數(shù)據(jù)驅(qū)動(dòng)的方式來(lái)實(shí)現(xiàn),感覺(jué)還不錯(cuò)。 需求設(shè)定 1.實(shí)現(xiàn)一個(gè)日期選擇...

    MAX_zuo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<