萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> javascript中的undefined和not defined區別示例介紹

javascript中的undefined和not defined區別示例介紹

  這篇文章主要介紹了javascript中的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內不執行

  總結:

  js中有兩種undefined 雖然用typeof 返回都是 String("undefined")

  其中 定義之後,但是未經任何操作或者某對象的一個未定義的屬性,都屬於 可以拿來運算的 undefined ,可以用來當作邏輯運算

  第二種的變量,完全沒有定義,而且沒有任何背景的(x.a,雖然x無a屬性,但是給x面子),屬於報錯類型不能被使用,除非用typeof函數

  js中的或運算,並不返回bool值,而是返回js對兩邊條件最後一個計算的值,比如 1||2 1為真,2不需要計算,所以 1||2 == 1 a||1 報錯

  var a; a|| 1 == 1;

  找了本辭典翻譯了一下

  undefined可以翻譯成:不明確的,也就是不知道用來干嘛的

  而 not defined 可以翻譯成 未定義的

copyright © 萬盛學電腦網 all rights reserved