DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> javascript typeof id===string?document.getElementById(id):id解釋 原創
javascript typeof id===string?document.getElementById(id):id解釋 原創
編輯:JavaScript基礎知識     

一般來說想要理解這段代碼,需要掌握如下兩個函數

一個是 typeof 一個就是三元運算符

看完了上面的文章再看下面的就比較好理解了

一般來說常用的函數代碼

function $(id){ return typeof id==='string'?document.getElementById(id):id;}
var GetBy = function (id) {
      return "string" == typeof id ? document.getElementById(id) : id;
    };

功能都是一樣的。

這個函數的作用就是之後用到id選擇器可以簡寫,至於判斷的意義就是傳入的參數為字符串就返回document.getElementById(id),其他的就返回參數本身,這個只是一個獲取頁面dom元素的一個簡陋版本的函數,還不夠完善。

1、這是一段JavaScript代碼
$就是一個標示符。 也可以用getID等,如果你的頁面中使用了jquery不建議使用$,因為jquery默認使用的就是$
?:是運算符
return "string" == typeof id ? document.getElementById(id) : id;
也可以寫成是

if("string" == typeof id )
  return document.getElementById(id);
else
  return id; 

有人感覺上面的代碼,為什麼不用{}括起來,因為代碼比較短只有一行是不需要{}

如下所示

if("string" == typeof id )   {
  return document.getElementById(id);
  }
else {
  return id; 
   }

具體的可以參考這篇文章:http://www.jb51.net/article/50197.htm

2、表達式1?表達式2:表達式3

這是一個式子;他的運算過程是:先計算表達式1,如果為true,這個式子就取表達式2的運算結果,否則整個式子取值就是表達式3的運算結果,不懂的朋友可以參考這篇文章:http://www.jb51.net/article/64237.htm

在你這個例子中 表達式1是 "string" == typeof id,功能是判斷id的數據類型是否為string ,==就是判斷是否相等的運算符啊
表達式2是 document.getElementById(id) 獲取ID為 參數id的值的html元素
表達式3 就是 id這個變量(一般來說這個變量多為object),如果是對象就不用document.getElementById了,直接就可以使用了。

原創整理,轉載請注明出處

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved