嚴格模式下this的指向問題
在ES5的嚴格模式下,this的指向有所變化,下面做一下簡單介紹。
先看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼var url="softwhy.com"; function func(){ console.log(this.url); } func()
在非嚴格模式下,這是毫無問題的,this是指向全域性物件window。
但是在嚴格模式下這是錯誤的,程式碼如下:
[JavaScript] 純文字檢視 複製程式碼"use strict"; var url="softwhy.com"; function func(){ console.log(this.url); } func()
上面的程式碼會報錯,Uncaught TypeError: Cannot read property 'url' of undefined。
特別說明:本編輯器當前是無法測試嚴格模式下的效果。
也就說如果不使用物件呼叫方法,或者非建構函式方式使用,函式中的this不再指向全域性物件。
更多關於嚴格模式的內容可以參閱javascript嚴格模式特性簡單介紹一章節。
相關文章
- js嚴格模式下的this指向,es6模組預設使用嚴格模式JS模式
- JS專題之嚴格模式JS模式
- 嚴格模式和非嚴格模式區別模式
- 嚴格模式模式
- JavaScript嚴格模式JavaScript模式
- JavaScript 中的 嚴格模式JavaScript模式
- this指向問題
- javascript的this指向問題JavaScript
- 嚴格模式use strict模式
- js中this的指向問題JS
- 關於this指向的問題
- class 類 this指向的問題
- JSON.parse () 的非嚴格模式JSON模式
- 一個有趣的this指向問題
- 關於javascript的this指向問題JavaScript
- JavaScript中this指向問題JavaScript
- JavaScript嚴格模式(三)- 物件的禁止操作JavaScript模式物件
- 淺談 js 中的 this 指向問題JS
- 函式內部This的指向問題函式
- web基礎(四)嚴格模式與混雜模式Web模式
- react history模式下的白屏問題React模式
- 有關this指標指向問題指標
- JS 基礎篇(五):JS嚴格模式JS模式
- 關於setInterval和setTImeout中的this指向問題
- 看懂js中this關鍵字的指向問題JS
- JS中的this指向問題(詳細版plus)JS
- 你不知道的JavaScript--Item1 嚴格模式JavaScript模式
- MySQL SELECT list is not in...MySQL關閉嚴格模式MySql模式
- js中this指向的問題與聯絡深入探究JS
- 聊一聊JavaScript中的嚴格模式與相關的‘坑’JavaScript模式
- 使用React嚴格模式避免過時的程式碼和副作用React模式
- 面試— !Doctype的作用,嚴格模式和混雜模式的區別、以及如何觸發兩種模式面試模式
- CLI模式下Yii2的log問題追蹤模式
- 補充上一篇,嚴格模式下不同場景下函式引數名的區別模式函式
- 也談箭頭函式的 this 指向問題及相關函式
- 解決部落格園md格式部落格的下載與上傳問題
- Safari無痕模式下,storage被禁用問題模式
- 面試官問:JS的this指向面試JS
- 教辨別this指向問題 包括箭頭函式函式