Javascript函式中的this的指向規則
-
用new呼叫函式, this指向新建立的物件。
-
使用call,apply(bind)呼叫函式, this指向繫結的的物件。
-
函式作為某物件的屬性呼叫, this指向這個物件。
-
其他情況下, this指向全域性物件(嚴格模式下指向undefined)。
補充: 如果第二條規則繫結的是null或者undefined, 則執行第四條規則; 1-4條規則優先順序遞減。
相關推薦
JavaScript函式中this的四種繫結策略
this的四種繫結策略 預設繫結 隱式繫結 顯示繫結 new繫結 1. 預設繫結 當一個函式沒有明確的呼叫物件的時候,也就是單純作為獨立函式呼叫的時候,將對函式的this使用預設繫結:繫結到全域性的window物件 // 第一個例子 var
關於函式中this指向的問題
箭頭函式有幾個使用注意點。 (1)函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。 (2)不可以當作建構函式,也就是說,不可以使用new命令,否則會丟擲一個錯誤。 (3)不可以使用arguments物件,該物件在函式體內不存在。如果要用,可以用Rest引數代替。 (4)不可以使用yie
Javascript函式中的this的指向規則
用new呼叫函式, this指向新建立的物件。 使用call,apply(bind)呼叫函式, this指向繫結的的物件。 函式作為某物件的屬性呼叫, this指向這個物件。 其他情況下, this指向全域性物件(嚴格模式下指向undefined)。
【JavaScript】徹底明白this在函式中的指向
一、this,其實可以類比成人 說到this的話,我們在js中主要研究的都是函式中的this,在javascript中,this代表當前行為的執行主體,而context代表的是當前行為執行的的環境(區域)。 例如男神在北理珠吃飯,這句話分別代表的含義如下 男神 --
javascript中this指向的理解(轉載)
JS中的this指向一直是個讓人頭疼的問題,想當初我學的是天昏地暗,查了好多資料,看的頭都大了,跟他大戰了那麼多回合,終於把它搞定個七八分,其實往往都是我們複雜化了,現在就讓大家輕鬆看懂this的指向,我會分以下幾種情況來說。 this的指向: &nb
JavaScript中this指向
JavaScript中this的四大判定: 1.預設繫結this指向window: example: function test (c){ var a = 123; function b(){
前端專案中常用es6知識總結 -- 箭頭函式及this指向、尾呼叫優化
專案開發中一些常用的es6知識,主要是為以後分享小程式開發、node+koa專案開發以及vueSSR(vue服務端渲染)做個前置鋪墊。 專案開發常用es6介紹 1、塊級作用域 let const 2、箭頭函式及this指向 3、promise、 4、as
js中this指向全面解析——四種繫結規則
this this指向什麼?不瞭解this時,一看到函式中有this,就以為this指的是函式自身,這是錯的!! 首先要明確: this既不指向函式自身也不指向函式的詞法作用域。 this是執行時進行繫結的,而不是在編寫時繫結,它的上下文取決於函式呼叫的各種條件。 this的繫結和函式宣
JavaScrpt中的this指向規則
首先,JavaScript的this指向問題並非傳說中的那麼難,不難的是機制並不複雜,而被認為不好理解的是邏輯關係和容易混淆的執行上下文。這篇部落格也就會基於這兩個不好理解的角度來展開,如要要嚴格的來對this的指向來分類的話,有三類不同的情況,一種是獨立函式執行的指向機制,第二種就是引用指向機制,第三種是n
ES6箭頭函式修復ES5中this指向問題
長期以來,ES5中this物件一直的指向一個令人頭痛的問題,在物件方法中使用此,必須非常小心例如: class Animal { constructor(){ this.type = 'animal' } says(say){ setTim
JavaScript中this指向問題
this是在執行時繫結的。函式呼叫方式的不同就可能使this所繫結的物件不同 一.幾種繫結規則 Ⅰ.預設繫結 一般情況下,若無其他規則出現則預設將this繫結到全域性物件上 function foo(){ var a = 3;
vue使用axios的回撥函式中this不指向vue例項,為undefined
今天在vue-cli腳手架搭建的專案中使用axios時,遇到無法解析this.$route的報錯資訊,最後發現是作用域的問題。 1.解決方法:使用 => 原始碼: axios.get('/u
vue使用axios中 this 指向問題
name use .post 指向 sub hack undefined 之前 form 1.解決辦法 在vue中使用axios做網絡請求的時候,會遇到this不指向vue,而為undefined,可以使用箭頭函數"=>"來解決。如下: metho
axios中this指向為undefined的問題
判斷 沒有 fine TE nbsp 進行 解決 In 保存 今天遇到的一個坑. 需要在得到接口返回的值時根據這個值進行判斷跳轉 想當然的想要使用this.$router.push("/verifynumber");來進行跳轉,但是發現並沒有什麽用 console.lo
React中this指向常用的2種修正方式
head bin fine function reac round component 需要 ike 一、使用bind方法(構造函數內綁定) <!DOCTYPE html> <html> <head> <meta ch
js中this指向的三種情況
js中this指向的幾種情況 一、全域性作用域或者普通函式自執行中this指向全域性物件window //全域性作用域 console.log(this);//Window //普通函式 function fn(){ console.log(this); //Wi
js---ES6 箭頭函式的this指向
普通函式的this指向看的是: 1.呼叫者 2.有沒有call/apply改變this指向 3.new改變AO中的this為一個空的物件 4.什麼都沒有,單純呼叫函式,this就是window,在自己的AO中。 箭頭函式的this指向:箭頭函式在定義時執行器上下文的this的指向(不具有塊
詳解Javascript函式中with
Javascript函式中with,with函式方便用來引用某個物件中已有的屬性,但是不能用來給物件新增屬性,要給物件建立新的屬性,下面通過程式碼給大家講解。 js函式中with函式的用法分析 定義 方便用來引用某個物件中已有的屬性,但是不能用來給物件
react 中this指向問題
執行一下程式碼會報錯,就是因為this指向的問題 import React, {Component} from 'react' import { Button } from 'antd'; export default class Home extends Compone
JavaScript——JS中的"=="轉換規則
我們知道,“=”、“==” 和“===”這三者之間是不一樣的。具體怎樣的不一樣呢?今天來說說“==”的轉換規則。 下面是一張“==”強制轉換規則表。 引數型別1 引數型別2 強制轉換 null undefined 不轉換,總是返回true