javascript中的undefined和not defined區(qū)別示例介紹
更新時間:2014年02月26日 15:34:03 作者:
這篇文章主要介紹了javascript中的undefined和not defined區(qū)別,需要的朋友可以參考下
經(jīng)研究發(fā)現(xiàn),兩者之間有很大的區(qū)別,不知從英語講,這兩者都有啥區(qū)別,研究結果如下
測試os:ubuntu
測試瀏覽器:chrome
測試案例1
console.log(a)
報錯 ReferenceError: a is not defined
測試案例2
var a
console.log(a)
無報錯,但是輸出undefined
測試案例2
var b = {};
console.log(b.a)
無報錯,但是輸出undefined
測試案例3
function c() {
}
var d = new c();
console.log(d.a)
無報錯,但是顯示undefined
關于typeof
以上所有用來測試的對象用typeof 返回的都是 String("undefined")
關于或運算 ||
var d = a||3
報錯 a not defined
var a;
var d = a || 3
結果:d==3
var c = 22 || 44
c==22
var c = false || 33
c == 33
if(x) {
}
報錯
var x
if(x) {
}
if內(nèi)不執(zhí)行
總結:
js中有兩種undefined 雖然用typeof 返回都是 String("undefined")
其中 定義之后,但是未經(jīng)任何操作或者某對象的一個未定義的屬性,都屬于 可以拿來運算的 undefined ,可以用來當作邏輯運算
第二種的變量,完全沒有定義,而且沒有任何背景的(x.a,雖然x無a屬性,但是給x面子),屬于報錯類型不能被使用,除非用typeof函數(shù)
js中的或運算,并不返回bool值,而是返回js對兩邊條件最后一個計算的值,比如 1||2 1為真,2不需要計算,所以 1||2 == 1 a||1 報錯
var a; a|| 1 == 1;
找了本辭典翻譯了一下
undefined可以翻譯成:不明確的,也就是不知道用來干嘛的
而 not defined 可以翻譯成 未定義的
測試os:ubuntu
測試瀏覽器:chrome
測試案例1
console.log(a)
報錯 ReferenceError: a is not defined
測試案例2
var a
console.log(a)
無報錯,但是輸出undefined
測試案例2
var b = {};
console.log(b.a)
無報錯,但是輸出undefined
測試案例3
function c() {
}
var d = new c();
console.log(d.a)
無報錯,但是顯示undefined
關于typeof
以上所有用來測試的對象用typeof 返回的都是 String("undefined")
關于或運算 ||
var d = a||3
報錯 a not defined
var a;
var d = a || 3
結果:d==3
var c = 22 || 44
c==22
var c = false || 33
c == 33
if(x) {
}
報錯
var x
if(x) {
}
if內(nèi)不執(zhí)行
總結:
js中有兩種undefined 雖然用typeof 返回都是 String("undefined")
其中 定義之后,但是未經(jīng)任何操作或者某對象的一個未定義的屬性,都屬于 可以拿來運算的 undefined ,可以用來當作邏輯運算
第二種的變量,完全沒有定義,而且沒有任何背景的(x.a,雖然x無a屬性,但是給x面子),屬于報錯類型不能被使用,除非用typeof函數(shù)
js中的或運算,并不返回bool值,而是返回js對兩邊條件最后一個計算的值,比如 1||2 1為真,2不需要計算,所以 1||2 == 1 a||1 報錯
var a; a|| 1 == 1;
找了本辭典翻譯了一下
undefined可以翻譯成:不明確的,也就是不知道用來干嘛的
而 not defined 可以翻譯成 未定義的
相關文章
js使用Replace結合正則替換重復出現(xiàn)的字符串功能示例
這篇文章主要介紹了js使用Replace結合正則替換重復出現(xiàn)的字符串功能,可實現(xiàn)關鍵詞描紅的功能,涉及JS重復匹配的相關操作技巧,需要的朋友可以參考下2016-12-12關于事件mouseover ,mouseout ,mouseenter,mouseleave的區(qū)別
mouseover ,mouseout ,mouseenter,mouseleave,都是鼠標點擊而觸發(fā)的事件,各自代表什么意思,有哪些區(qū)別呢?下面跟著腳本之家小編一起看看吧2015-10-10ES6?數(shù)組some()和every()的使用及說明
這篇文章主要介紹了ES6?數(shù)組some()和every()的使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01Javascript簡單實現(xiàn)面向?qū)ο缶幊汤^承實例代碼
這篇文章主要介紹了Javascript簡單實現(xiàn)面向?qū)ο缶幊汤^承實例代碼,簡單分析了面向?qū)ο蟪绦蛟O計的特征與繼承的具體實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11