亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

什么是嚴(yán)格模式.

 

JAVAScript 除了提供正常模式外,還提供了嚴(yán)格模式(strict mode)。ES5 的嚴(yán)格模式是采用具有限制性 JavaScript 變體的一種方式,即在嚴(yán)格的條件下運(yùn)行 JS 代碼。

 

嚴(yán)格模式在 IE10 以上版本的瀏覽器中才會(huì)被支持,舊版本瀏覽器中會(huì)被忽略。

 

嚴(yán)格模式對(duì)正常的 JavaScript 語(yǔ)義做了一些更改:

 

1.消除了 Javascript 語(yǔ)法的一些不合理、不嚴(yán)謹(jǐn)之處,減少了一些怪異行為。

 

2.消除代碼運(yùn)行的一些不安全之處,保證代碼運(yùn)行的安全。

 

3.提高編譯器效率,增加運(yùn)行速度。

 

4.禁用了在 ECMAScript 的未來(lái)版本中可能會(huì)定義的一些語(yǔ)法,為未來(lái)新版本的 Javascript 做好鋪墊。比如一些保留字如:class, enum, export, extends, import, super 不能做變量名

 

開(kāi)啟嚴(yán)格模式

 

嚴(yán)格模式可以應(yīng)用到整個(gè)腳本或個(gè)別函數(shù)中。因此在使用時(shí),我們可以將嚴(yán)格模式分為為腳本開(kāi)啟嚴(yán)格模式和為函數(shù)開(kāi)啟嚴(yán)格模式兩種情況。

 

1. 為腳本開(kāi)啟嚴(yán)格模式

 

為整個(gè)腳本文件開(kāi)啟嚴(yán)格模式,需要在所有語(yǔ)句之前放一個(gè)特定語(yǔ)句“use strict”;(或‘use strict’;)。

 

因?yàn)?quot;use strict"加了引號(hào),所以老版本的瀏覽器會(huì)把它當(dāng)作一行普通字符串而忽略。

 

有的 script 基本是嚴(yán)格模式,有的 script 腳本是正常模式,這樣不利于文件合并,所以可以將整個(gè)腳本文件放在一個(gè)立即執(zhí)行的匿名函數(shù)之中。這樣獨(dú)立創(chuàng)建一個(gè)作用域而不影響其他 script 腳本文件。

 

2. 為函數(shù)開(kāi)啟嚴(yán)格模式

 

要給某個(gè)函數(shù)開(kāi)啟嚴(yán)格模式,需要把“use strict”; (或 'use strict'; ) 聲明放在函數(shù)體所有語(yǔ)句之前。

 

將 "use strict" 放在函數(shù)體的第一行,則整個(gè)函數(shù)以 "嚴(yán)格模式" 運(yùn)行。

 

嚴(yán)格模式就是嚴(yán)格執(zhí)行的方式,像以前class是可以作為變量,變量沒(méi)有聲明var在普通模式都是可以執(zhí)行的,但是用了‘use strict’嚴(yán)格模式,那就是不合法的

 

嚴(yán)格模式中的變化

 

嚴(yán)格模式對(duì) Javascript 的語(yǔ)法和行為,都做了一些改變。

 

1. 變量規(guī)定

 

①在正常模式中,如果一個(gè)變量沒(méi)有聲明就賦值,默認(rèn)是全局變量。嚴(yán)格模式禁止這種用法,變量都必須先用var 命令聲明,然后再使用。

 

②嚴(yán)禁刪除已經(jīng)聲明變量。例如,delete x; 語(yǔ)法是錯(cuò)誤的。

 

2. 嚴(yán)格模式下 this 指向問(wèn)題

 

①以前在全局作用域函數(shù)中的 this 指向 window 對(duì)象。

 

②嚴(yán)格模式下全局作用域中函數(shù)中的 this 是 undefined。

 

③以前構(gòu)造函數(shù)時(shí)不加 new也可以 調(diào)用,當(dāng)普通函數(shù),this 指向全局對(duì)象

 

④?chē)?yán)格模式下,如果 構(gòu)造函數(shù)不加new調(diào)用, this 指向的是undefined 如果給他賦值則 會(huì)報(bào)錯(cuò)

 

⑤new 實(shí)例化的構(gòu)造函數(shù)指向創(chuàng)建的對(duì)象實(shí)例。

 

⑥定時(shí)器 this 還是指向 window 。

 

⑦事件、對(duì)象還是指向調(diào)用者。

 

3. 函數(shù)變化

 

①函數(shù)不能有重名的參數(shù)。

 

②函數(shù)必須聲明在頂層.新版本的 JavaScript 會(huì)引入“塊級(jí)作用域”( ES6 中已引入)。為了與新版本接軌,不允許在非函數(shù)的代碼塊內(nèi)聲明函數(shù)。

 

分享到:
標(biāo)簽:JavaScript
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定