javascript typeof id==='string'?document.getElementById(id):id解釋 原創(chuàng)
一般來(lái)說(shuō)想要理解這段代碼,需要掌握如下兩個(gè)函數(shù)
一個(gè)是 typeof 一個(gè)就是三元運(yùn)算符
看完了上面的文章再看下面的就比較好理解了
一般來(lái)說(shuō)常用的函數(shù)代碼
function $(id){ return typeof id==='string'?document.getElementById(id):id;}
var GetBy = function (id) { return "string" == typeof id ? document.getElementById(id) : id; };
功能都是一樣的。
這個(gè)函數(shù)的作用就是之后用到id選擇器可以簡(jiǎn)寫,至于判斷的意義就是傳入的參數(shù)為字符串就返回document.getElementById(id),其他的就返回參數(shù)本身,這個(gè)只是一個(gè)獲取頁(yè)面dom元素的一個(gè)簡(jiǎn)陋版本的函數(shù),還不夠完善。
1、這是一段JavaScript代碼
$就是一個(gè)標(biāo)示符。 也可以用getID等,如果你的頁(yè)面中使用了jquery不建議使用$,因?yàn)閖query默認(rèn)使用的就是$
?:是運(yùn)算符
return "string" == typeof id ? document.getElementById(id) : id;
也可以寫成是
if("string" == typeof id ) return document.getElementById(id); else return id;
有人感覺(jué)上面的代碼,為什么不用{}括起來(lái),因?yàn)榇a比較短只有一行是不需要{}
如下所示
if("string" == typeof id ) { return document.getElementById(id); } else { return id; }
具體的可以參考這篇文章:http://www.dbjr.com.cn/article/50197.htm
2、表達(dá)式1?表達(dá)式2:表達(dá)式3
這是一個(gè)式子;他的運(yùn)算過(guò)程是:先計(jì)算表達(dá)式1,如果為true,這個(gè)式子就取表達(dá)式2的運(yùn)算結(jié)果,否則整個(gè)式子取值就是表達(dá)式3的運(yùn)算結(jié)果,不懂的朋友可以參考這篇文章:http://www.dbjr.com.cn/article/64237.htm
在你這個(gè)例子中 表達(dá)式1是 "string" == typeof id,功能是判斷id的數(shù)據(jù)類型是否為string ,==就是判斷是否相等的運(yùn)算符啊
表達(dá)式2是 document.getElementById(id) 獲取ID為 參數(shù)id的值的html元素
表達(dá)式3 就是 id這個(gè)變量(一般來(lái)說(shuō)這個(gè)變量多為object),如果是對(duì)象就不用document.getElementById了,直接就可以使用了。
腳本之家原創(chuàng)整理,轉(zhuǎn)載請(qǐng)注明出處
- js中document.getElementById(id)的具體用法
- 原生js操作checkbox用document.getElementById實(shí)現(xiàn)
- js querySelector和getElementById通過(guò)id獲取元素的區(qū)別
- getElementByIdx_x js自定義getElementById函數(shù)
- js中document.getElementByid、document.all和document.layers區(qū)分介紹
- JavaScript中也使用$美元符號(hào)來(lái)代替document.getElementById
- javascript代碼在ie8里報(bào)錯(cuò) document.getElementById(...) 為空或不是對(duì)象的解決方法
- javascript getElementById 使用方法及用法
- js中的getElementById的使用方法
相關(guān)文章
淺談javascript:兩種注釋,聲明變量,定義函數(shù)
下面小編就為大家?guī)?lái)一篇淺談javascript:兩種注釋,聲明變量,定義函數(shù)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09JavaScript字符串對(duì)象的concat方法實(shí)例(用于連接兩個(gè)或多個(gè)字符串)
這篇文章主要介紹了JavaScript字符串對(duì)象的concat方法實(shí)例,這個(gè)方法用于連接兩個(gè)或多個(gè)字符串,平時(shí)用+號(hào)比較多,所以這個(gè)方法可能不太常用,需要的朋友可以參考下2014-10-10JavaScript高級(jí)程序設(shè)計(jì)(第3版)學(xué)習(xí)筆記 概述
在JavaScript面世之初,沒(méi)有人會(huì)想到它會(huì)被應(yīng)用的如此廣泛,也遠(yuǎn)比一般人想象中的要復(fù)雜強(qiáng)大的多,在我自己學(xué)習(xí)的過(guò)程中,曾經(jīng)有過(guò)多次震撼2012-10-10javascript 全選與全取消功能的實(shí)現(xiàn)代碼
全選與全取消在工作過(guò)程中經(jīng)常會(huì)使用到,是因?yàn)樗芊奖悖瑫r(shí)可以提高用戶體驗(yàn)值,本文介紹如何使用javascript實(shí)現(xiàn)全選與全取消功能,需要了解的朋友可以參考下2012-12-12淺談JavaScript function函數(shù)種類
這篇文章主要介紹了JavaScript function函數(shù)種類,包括普通函數(shù)、匿名函數(shù)、閉包函數(shù)、十分的全面,并附上了示例,這里推薦給大家,希望對(duì)大家能有所幫助。2014-12-12TypeScript開(kāi)發(fā)環(huán)境安裝
這篇文章介紹了TypeScript開(kāi)發(fā)環(huán)境的安裝方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06