国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

別讓undefined摧毀你的前端代碼

jayce / 366人閱讀

摘要:孕育是一個(gè)特殊的值,它代表沒有。嗯,不是說真的沒有,它就像小強(qiáng)一樣無所不在,但你又抓不住它,因?yàn)樗菦]有。。??梢杂么?,壓縮插件就是這么做的有條件的看官請(qǐng)用,給每個(gè)都發(fā)通行證寫盡量用,兩個(gè)等于號(hào)的就忘了它吧

孕育

undefined是一個(gè)特殊的值,它代表沒有。嗯,不是說真的沒有,它就像小強(qiáng)一樣無所不在,但你又抓不住它,因?yàn)樗?strong>沒有。。。

卑微的出生
數(shù)組溢出
var arr = [1, 2, 3];

console.log(arr[4]); // undefined
初始變量
var a;

console.log(a); // undefined
未傳實(shí)參
function callMe(name) {
  return name;
}

console.log(callMe()); // undefined
無返回值
function callMe(name) {
  // do nothing
}

console.log(callMe("原罪")); // undefined
虛構(gòu)屬性
var def = {hello: "world"};

console.log(def.hi); // undefined
偷梁換柱

堆內(nèi)存和棧內(nèi)存的千絲萬縷

function doYouLikeMe(You) {
  delete You.amPower;

  return "no";
}

var I = {name: "原罪", amPower: "yes"};

console.log(I.amPower);        // "yes"
console.log(doYouLikeMe(I));   // "no"

console.log(I.amPower);        // undefined
偷上癮了

亞當(dāng)和夏娃偷吃禁果,犯了原罪

function whatAboutAdam(eve) {
  eve.pop();

  return "無罪釋放";
}

var eve = ["夏", "娃", "的", "原", "罪"];

console.log(eve[4]);               // "罪"
console.log(whatAboutAdam(eve));   // "無罪釋放"

console.log(eve[4]);               // undefined
類型推斷
var a;

console.log(typeof a);              // "undefined"
console.log(typeof undefined);      // "undefined"
console.log(typeof notDefinedKey);  // "undefined"
殘酷的競(jìng)爭(zhēng)

隊(duì)友,可以用 === 對(duì)比

// void后面加上任何值都會(huì) 全等于 undefined

void 0 === undefined       // true
void 1 === undefined       // true
void "原罪" === undefined   // true
void true === undefined    // true
void {} === undefined      // true

敵人,可以用 == 對(duì)比:

null ==  undefined // true

null === undefined // false

敵人的敵人,需要取反對(duì)比:

!false === !undefined // true
!"" === !undefined // true
!0 === !undefined // true

false == undefined // false
"" == undefined // false
0 == undefined // false
克隆者入侵

undefined不是保留字,es5之后,全局undefined無法被覆蓋

undefined = 2;

console.log(undefined); // undefined

嚴(yán)格模式下,覆蓋全局undefined將直接拋錯(cuò)

"use strict";
undefined = 2;

console.log(undefined); // throw new TypeError();

但局部undefined還可以被覆蓋(包括嚴(yán)格模式)

var undefined = 2;

console.log(undefined); // 2
滅霸響指

覆蓋undefined的值是危險(xiǎn)動(dòng)作,請(qǐng)勿模仿。

可以用 void 0 代替 undefined,壓縮插件就是這么做的

有條件的看官請(qǐng)用typescript,給每個(gè)undefined都發(fā)通行證

寫js盡量用 ===,兩個(gè)等于號(hào)的就忘了它吧

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/108057.html

相關(guān)文章

  • 別讓任何人打亂你的節(jié)奏

    摘要:人生中的每一件事都取決于我們自己的時(shí)間,你身邊有些朋友也許遙遙領(lǐng)先于你,有些朋友也許落后于你,但凡事都有它自己的節(jié)奏因此,無論當(dāng)下如何,保持一顆平靜的心,從容對(duì)待。愿你始終相信,一切都會(huì)準(zhǔn)時(shí)到來的。不言而喻的是信心對(duì)完成任務(wù)的作用很大。 《別讓任何人打亂你的生活節(jié)奏》完美人生 就是 18歲成人 22歲大學(xué)畢業(yè),25歲工作穩(wěn)定,30歲之前買房結(jié)婚生子,35歲之后人生軌跡就會(huì)定型…… 可是...

    fanux 評(píng)論0 收藏0
  • 做完自動(dòng)化測(cè)試,但別讓不會(huì)匯報(bào)毀了你...

    摘要:前端自動(dòng)化測(cè)試百度搜索功能實(shí)戰(zhàn)可以與結(jié)合生成測(cè)試報(bào)告。以網(wǎng)頁版本的百度為例,百度首頁呈現(xiàn)的功能新聞網(wǎng)頁貼吧知道音樂圖片視頻地圖等,我們以百度網(wǎng)頁的搜索功能為例,使用結(jié)合自動(dòng)化測(cè)試框架,完成一個(gè)搜索功能的測(cè)試。 ...

    HelKyle 評(píng)論0 收藏0
  • 深入理解JavaScript

    摘要:深入之繼承的多種方式和優(yōu)缺點(diǎn)深入系列第十五篇,講解各種繼承方式和優(yōu)缺點(diǎn)。對(duì)于解釋型語言例如來說,通過詞法分析語法分析語法樹,就可以開始解釋執(zhí)行了。 JavaScript深入之繼承的多種方式和優(yōu)缺點(diǎn) JavaScript深入系列第十五篇,講解JavaScript各種繼承方式和優(yōu)缺點(diǎn)。 寫在前面 本文講解JavaScript各種繼承方式和優(yōu)缺點(diǎn)。 但是注意: 這篇文章更像是筆記,哎,再讓我...

    myeveryheart 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<