JS一些基本

undefined 和 null, NaN 的區別
有了上面的介紹,就能夠很容易把undefined 和其餘的兩個區分開來。
 
undefined判斷的是變量的類型,而其餘兩個判斷是變量的值。
 
undefined能夠用來表示如下的情況
 
1. 表示一個未聲明的變量,
 
2. 已聲明但沒有賦值的變量,
 
3. 一個並不存在的對象屬性

 


null 是一種特殊的object ,表示無值;
 
 
NaN是一種特殊的number ,表示無值;
 
 
 
 
比較符(== 或 ===)
 
使用 == ,若是兩邊的類型不一樣, js 引擎會先把它們轉成相同的類型在進行值的比較;
 

使用 ===, 則不會進行類型轉換,類型不一樣,確定不相等。 正則表達式


最近忽然發現本身寫的JavaScript代碼比較臃腫,因此開始研究JavaScript的簡寫方法。這樣一來,可讓咱們的JavaScript代碼看起來比較清爽,同時也能夠提升咱們的技術。那麼判斷爲空怎麼簡寫呢? 對象

  下面就是有關判斷爲空的簡寫方法。 ip

  代碼以下 字符串

  if (variable1 !== null || variable1 !== undefined || variable1 !== '') { string

  var variable2 = variable1; 變量

  } object

  上面的意思是說若是variable1不是一個空對象,或者未定義,或者不等於空字符串,那麼聲明一個variable2變量,將variable1賦給variable2。也就是說若是variable1存在那麼就將variable1的值賦給variable2,若不存在則爲空字符串。以下面的簡寫代碼。 方法

  簡寫代碼: 技術

  代碼以下 數據

  var variable2 = variable1 || '';

  如下是不正確的方法:

  代碼以下

  var exp = null;

  if (exp == null)

  {

  alert("is null");

  }

  exp 爲 undefined 時,也會獲得與 null 相同的結果,雖然 null 和 undefined 不同。注意:要同時判斷 null 和 undefined 時可以使用本法。

  代碼以下

  var exp = null;

  if (!exp)

  {

  alert("is null");

  }

  若是 exp 爲 undefined,或數字零,或 false,也會獲得與 null 相同的結果,雖然 null 和兩者不同。注意:要同時判斷 null、undefined、數字零、false 時可以使用本法。

  代碼以下

  var exp = null;

  if (typeof exp == "null")

  {

  alert("is null");

  }

  爲了向下兼容,exp 爲 null 時,typeof null 總返回 object,因此不能這樣判斷。

  代碼以下

  var exp = null;

  if (isNull(exp))

  {

  alert("is null");

  }

  判斷字符串是否爲空

  s 匹配任何空白字符,包括空格、製表符、換頁符等等。等價於 [ fnrtv]。 不少狀況下,都是用length來直接判斷字符串是否爲空,以下:

  代碼以下

  var strings = '';

  if (string.length == 0)

  {

  alert('不能爲空');

  }

  但若是用戶輸入的是空格,製表符,換頁符呢?這樣的話,也是不爲空的,可是這樣的數據就不是咱們想要的吧。

  其實能夠用正則表達式來把這些「空」的符號去掉來判斷的

  代碼以下

  var strings = ' ';

  if (strings.replace(/(^s*)|(s*$)/g, "").length ==0)

  {

  alert('不能爲空');

  }

  s 小寫的s是,匹配任何空白字符,包括空格、製表符、換頁符等等。等價於 [ fnrtv]。

相關文章
相關標籤/搜索