js簡單知識點

1. 條件判斷的陷阱

在if判斷中,使用===作比較,避免掉入==造成的陷阱坛增。

在條件判斷時获雕,這樣的一些值表示falsenullundefined收捣,字符串' '届案,數(shù)字0NaN
而在==時罢艾,則會有一些讓人難以理解的陷阱,如:

(function () { 
  var undefined; 
  undefined == null; // true 
  1 == true; //true 
  2 == true; // false 
  0 == false; // true 
  0 == ''; // true 
  NaN == NaN;// false 
  [] == false; // true 
  [] == ![]; // true 
})();

對于不同類型的 == 判斷楣颠,有這樣一些規(guī)則,順序自上而下:

  1. undefinednull相等
  2. 一個是number一個是string時咐蚯,會嘗試將string轉(zhuǎn)換為number
  3. 嘗試將boolean轉(zhuǎn)換為number童漩,01
  4. 嘗試將Object轉(zhuǎn)換成numberstring,取決于另外一個對比量的類型
    所以仓蛆,對于0睁冬、空字符串的判斷,建議使用 === 看疙。===會先判斷兩邊的值類型豆拨,類型不匹配時為false

2. 簡單類型轉(zhuǎn)換

  • number to string的轉(zhuǎn)換能庆,建議使用 1 + ' 'String(1)施禾,不使用new String(1)1.toString()的方式。
  • string to number的轉(zhuǎn)換搁胆,建議使用parseInt弥搞,必須顯式指定第二個參數(shù)的進制邮绿。下面的例子展示了不指定進制的風險:
parseInt('08'); // 0 
parseInt('08', 10); //8
  • float to integer的轉(zhuǎn)換,建議使用Math.floor/Math.round/Math.ceil方法攀例,不使用parseInt船逮。

3. 字符串拼接

字符串拼接,應使用數(shù)組保存字符串片段粤铭,使用時調(diào)用join方法挖胃。避免使用++=的方式拼接較長的字符串,每個字符串都會使用一個小的內(nèi)存片段梆惯,過多的內(nèi)存片段會影響性能酱鸭。如:

不好的拼接方式,+=

var str = ''; 
for (var i = 0, len = list.length; i < len; i++) { 
  str+= '<div>' + list[i] + '</div>'; 
} 
dom.innerHTML = str;

正確拼接方式垛吗,Array的push+join

var str = []; 
for (var i = 0, len = list.length; i < len; i++) { 
  str.push('<div>'+ list[i] + '</div>'); 
} 
dom.innerHTML = str.join('');

4. 獲取元素

獲取單個元素

通常凹髓,我們使用document.getElementById來獲取dom元素,避免使用document.all怯屉。document.getElementById是標準方法蔚舀,兼容所有瀏覽器

ie瀏覽器會混淆元素的idname屬性,document.getElementById可能獲得不期望的元素蚀之。
在對元素的idname屬性的命名需要非常小心蝗敢,應使用不同的命名法。
下面是一個nameid沖突的例子:

<input type="text" name="test"> <div id="test"></div>
<button onclick="alert(document.getElementById('test').tagName)"></button>
<!-- ie6下為INPUT -->

5.設置兼容事件

//設置兼容事件
        function addEvent(ele, event, func) {
            if (ele.addEventListener) {
                ele.addEventListener(event, func, false);
            } else if (ele.attachEvent) {
                ele.attachEvent('on' + event, func);
            } else {
                ele['on' + event] = func;
            }
        }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末足删,一起剝皮案震驚了整個濱河市寿谴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌失受,老刑警劉巖讶泰,帶你破解...
    沈念sama閱讀 219,539評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異拂到,居然都是意外死亡,警方通過查閱死者的電腦和手機兄旬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評論 3 396
  • 文/潘曉璐 我一進店門狼犯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來领铐,“玉大人,你說我怎么就攤上這事绪撵。” “怎么了音诈?”我有些...
    開封第一講書人閱讀 165,871評論 0 356
  • 文/不壞的土叔 我叫張陵绎狭,是天一觀的道長。 經(jīng)常有香客問我褥傍,道長,這世上最難降的妖魔是什么摔桦? 我笑而不...
    開封第一講書人閱讀 58,963評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮邻耕,結(jié)果婚禮上燕鸽,老公的妹妹穿的比我還像新娘。我一直安慰自己啊研,他們只是感情好御滩,可當我...
    茶點故事閱讀 67,984評論 6 393
  • 文/花漫 我一把揭開白布党远。 她就那樣靜靜地躺著削解,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沟娱。 梳的紋絲不亂的頭發(fā)上氛驮,一...
    開封第一講書人閱讀 51,763評論 1 307
  • 那天,我揣著相機與錄音济似,去河邊找鬼矫废。 笑死,一個胖子當著我的面吹牛砰蠢,可吹牛的內(nèi)容都是我干的蓖扑。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼台舱,長吁一口氣:“原來是場噩夢啊……” “哼律杠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起竞惋,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤柜去,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碰声,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诡蜓,經(jīng)...
    沈念sama閱讀 45,850評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,002評論 3 338
  • 正文 我和宋清朗相戀三年胰挑,在試婚紗的時候發(fā)現(xiàn)自己被綠了蔓罚。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片椿肩。...
    茶點故事閱讀 40,144評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖豺谈,靈堂內(nèi)的尸體忽然破棺而出郑象,到底是詐尸還是另有隱情,我是刑警寧澤茬末,帶...
    沈念sama閱讀 35,823評論 5 346
  • 正文 年R本政府宣布厂榛,位于F島的核電站,受9級特大地震影響丽惭,放射性物質(zhì)發(fā)生泄漏击奶。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,483評論 3 331
  • 文/蒙蒙 一责掏、第九天 我趴在偏房一處隱蔽的房頂上張望柜砾。 院中可真熱鬧,春花似錦换衬、人聲如沸痰驱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽担映。三九已至,卻和暖如春叫潦,著一層夾襖步出監(jiān)牢的瞬間蝇完,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評論 1 272
  • 我被黑心中介騙來泰國打工诅挑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留四敞,地道東北人。 一個月前我還...
    沈念sama閱讀 48,415評論 3 373
  • 正文 我出身青樓拔妥,卻偏偏與公主長得像忿危,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子没龙,可洞房花燭夜當晚...
    茶點故事閱讀 45,092評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎部分 基礎部分的順序:基本語法硬纤,類相關(guān)的語法,內(nèi)部類的語法筝家,繼承相關(guān)的語法,異常的語法腮鞍,線程的語...
    子非魚_t_閱讀 31,645評論 18 399
  • 官方中文版原文鏈接 感謝社區(qū)中各位的大力支持,譯者再次奉上一點點福利:阿里云產(chǎn)品券移国,享受所有官網(wǎng)優(yōu)惠,并抽取幸運大...
    HetfieldJoe閱讀 2,522評論 1 17
  • 思念灌湯水餃 豬肉 目前吃過最難吃的速凍水餃使碾。 W6!兄朋!
    _quit閱讀 149評論 0 1
  • 在我哥哥結(jié)婚的前一天 我覺得自己渾身都還可以 就是頭發(fā)需要捯飭一下 隨便揀了家美發(fā)店就走了進去 客人很多 然后我坐...
    春暖花開王高興閱讀 521評論 1 0
  • “哎呀,這學期課好多呀” “是呀傅事!還要準備教資考試和CET,要瘋了” “好忙哦” 這是這學期聽到的最多的抱怨蹭越,的確...
    我在等風吹閱讀 195評論 0 0