“use strict” 是ES5新增的嚴(yán)格模式
為商州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及商州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、商州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
有以下用法:
1)變量聲明
變量必須先聲明,再使用;
var a=10;
console.log(a);
2)禁止使用with
var obj={
name:"john";
}
在普通模式下,想要訪問name屬性:
with(obj){
console.log(name);
}
但在嚴(yán)格模式下,不能使用with,只能使用下面這種方式:
console.log(obj.name)
3)設(shè)立eval作用域
在普通模式下,
eval("var a=10;console.log(a)");
console.log(a); //輸出10,10
但是在嚴(yán)格模式下,
eval("var a=10;console.log(a)");
console.log(a); //輸出10 報(bào)錯(cuò) a is not defined(即eval作用域中的變量外部不能訪問)
4)函數(shù)中的this指向問題
在普通模式下:
function foo(){
console.log(this); //輸出window,在普通模式下,默認(rèn)為window調(diào)用foo
}
foo();
在嚴(yán)格模式下:
function foo(){
console.log(this); //輸出undefined,要想輸出window,必須寫成window.foo()
}
foo();
5)刪除變量
在普通模式下:
var a=10;
delete a;
console.log(a); //輸出10
在嚴(yán)格模式下:
var a=10;
delete a;
console.log(a); //報(bào)錯(cuò) 嚴(yán)格模式下不能刪除變量
6)函數(shù)參數(shù)不能重名
錯(cuò)誤寫法:
function foo(x,x){
}
7)八進(jìn)制字面量表示法
嚴(yán)格模式下:
var num=017;
console.log(num); //報(bào)錯(cuò) 嚴(yán)格模式下不允許使用八進(jìn)制變量
8)arguments不追蹤參數(shù)變化
普通模式下:
function foo(x){
console.log(arguments[0]); //輸出1
x=2;
console.log(arguments[0]); //輸出2
}
foo(1);
在嚴(yán)格模式下:
function foo(x){
console.log(arguments[0]); //輸出1
x=2;
console.log(arguments[0]); //輸出1
}
foo(1);
本文名稱:ES5嚴(yán)格模式
網(wǎng)站鏈接:http://chinadenli.net/article0/pipgio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、電子商務(wù)、服務(wù)器托管、面包屑導(dǎo)航、全網(wǎng)營銷推廣、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)