欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript基礎(chǔ)之this指向

 更新時(shí)間:2021年11月12日 15:52:02   作者:小豬弟  
這篇文章主要介紹了淺談JavaScript this指向以及修改指向,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

JavaScript中this也是一件很神奇 事情,在面向?qū)ο螅ū热鏹ava)中表示一個(gè)當(dāng)前的對(duì)象引用,但是在JavaScript中this不是固定不變的,而是隨著運(yùn)行環(huán)境的改變而改變。

this

老規(guī)矩先看代碼:

方法中

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

在這里插入圖片描述

對(duì)象中

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

在這里插入圖片描述

在方法中,this表示該方法所屬的對(duì)象。因?yàn)榈谝粋€(gè)是window上的方法,所以打印了window,而eat方法是Person方法,所以打印除了對(duì)象Person。

所以可以看出單獨(dú)在控制臺(tái)使用this, 表示全局對(duì)象。

在這里插入圖片描述

隱藏的this

在對(duì)象,可以提前聲明一個(gè)一個(gè):

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

這樣寫(xiě)會(huì)很麻煩,所以可以借鑒一下java類的概念,可以這樣:

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

在這里插入圖片描述

其實(shí)在new的時(shí)候隱藏了一個(gè)return this,如果不使用new的話,發(fā)現(xiàn)其沒(méi)有返回這個(gè)新建的對(duì)象。

在這里插入圖片描述

那么現(xiàn)在補(bǔ)全一下看:

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

在這里插入圖片描述

這樣的話,甚至可以偽造一個(gè)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);

在這里插入圖片描述

嚴(yán)格模式

this在嚴(yán)格模式和非嚴(yán)格模式下有些神奇的情況

function test() {
  return this;
}

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

在這里插入圖片描述

這個(gè)可以看出在非嚴(yán)格模式下函數(shù)中,函數(shù)的所屬者默認(rèn)綁定到 this 上。所以可以打印出全局,但是嚴(yán)格模式下函數(shù)是沒(méi)有綁定到 this 上,這時(shí)候 this 是 undefined。

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評(píng)論