亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

TypeOf這些知識(shí)點(diǎn)你了解嗎

 更新時(shí)間:2016年02月21日 17:17:22   投稿:mrr  
昨天給同事一起玩耍,同事給我出了一道代碼題目,是關(guān)于typeof的,感覺(jué)挺好玩的,在此分享給大家,順便鞏固下自己對(duì)typeof知識(shí)點(diǎn)的總結(jié)

昨天給同事一起玩耍,同事給我出了一道代碼題目,是關(guān)于typeof的,感覺(jué)挺好玩的,在此分享給大家,順便鞏固下自己對(duì)typeof知識(shí)點(diǎn)的總結(jié)。如有不對(duì),請(qǐng)給予指出,共同進(jìn)步。

代碼是這樣的:

<!DOCTYPE html>
<head>
<title>typeof</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
</head>
<body>
<script>
var a= a||null; 
var b= c||null; 
var c= typeof f;
console.log(a);
console.log(b);
console.log(c);
</script>
</body>
</html>

那么,你說(shuō)運(yùn)行該代碼,chrome調(diào)試器會(huì)打印什么呢?

請(qǐng)看,效果圖


為什么會(huì)出現(xiàn)這個(gè)結(jié)果呢?

首先分析上圖中的兩個(gè)null


因?yàn)镴avascript在執(zhí)行代碼之前,會(huì)先預(yù)解析(hoisting)。

什么是預(yù)解析(hoisting)呢?

就是在JavaScript中,你可以在函數(shù)的任何位置聲明多個(gè)var語(yǔ)句,它們就像在函數(shù)的頂部聲明一樣發(fā)揮作用,且會(huì)給var聲明的變量賦予一個(gè)undefined的初始值。這種行為我們稱之為預(yù)解析(hoisting)。

所以呢,在執(zhí)行以上代碼前,Javascript會(huì)首先將所有的var變量(a,b,c)預(yù)解析(hoisting),當(dāng)執(zhí)行a||null時(shí),a是undefined的,又因?yàn)槭莬|運(yùn)算,所以結(jié)果就是null咯。

c||null是一個(gè)道理。

再來(lái)看看,為什么typeof f會(huì)是undefined呢?f都沒(méi)定義,不應(yīng)該會(huì)報(bào)錯(cuò)嗎?

是的,倘若我們?nèi)ナ褂靡粋€(gè)未定義的變量,瀏覽器是會(huì)報(bào)錯(cuò)的。

但是,當(dāng)用typeof去判斷一個(gè)未定義的變量,將返回undefined。

那typeof判斷值類型時(shí),是個(gè)怎么機(jī)制呢?總結(jié)如下:

1、 對(duì)于數(shù)字類型的值,typeof會(huì)返回number,注意:NaN也是一個(gè)數(shù)字類型,因?yàn)樗贘avaScript中代表的是特殊非數(shù)字值。

2、 對(duì)于字符串類型的值,typeof會(huì)返回string。

3、 對(duì)于布爾類型的值,typeof會(huì)返回boolean。

4、 對(duì)于對(duì)象,數(shù)組,null而言,typeof會(huì)返回object

5、 對(duì)于函數(shù)類型而言,typeof返回function

6、 如果運(yùn)算數(shù)沒(méi)有定義(不存在或未賦值),將會(huì)返回undefined。

相關(guān)文章

  • JavaScript閉包的簡(jiǎn)單應(yīng)用

    JavaScript閉包的簡(jiǎn)單應(yīng)用

    這篇文章主要為大家詳細(xì)介紹了JavaScript閉包的簡(jiǎn)單應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 微信小程序?qū)崿F(xiàn)上傳多張圖片、刪除圖片

    微信小程序?qū)崿F(xiàn)上傳多張圖片、刪除圖片

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)上傳多張圖片、刪除圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • js 屏蔽鼠標(biāo)右鍵腳本附破解方法

    js 屏蔽鼠標(biāo)右鍵腳本附破解方法

    用來(lái)屏蔽鼠標(biāo)右鍵的代碼,破解方法也比較簡(jiǎn)單。比較根本。禁掉js什么也運(yùn)行不了。
    2009-12-12
  • html嵌入javascript代碼的三種方式

    html嵌入javascript代碼的三種方式

    本文詳細(xì)介紹了html嵌入javascript代碼的三種主要方式:腳本塊的方式、引入外部獨(dú)立的.js文件、事件句柄是以html標(biāo)簽的屬性存在的,有感興趣了解的同學(xué)可以借鑒閱讀
    2023-03-03
  • 一些相見(jiàn)恨晚的 JavaScript 技巧

    一些相見(jiàn)恨晚的 JavaScript 技巧

    本文從7個(gè)方面講述 JavaScript 中那些你不很熟知但非常實(shí)用的技巧。
    2010-04-04
  • 用js來(lái)格式化字符串示例模仿css

    用js來(lái)格式化字符串示例模仿css

    用js來(lái)格式化字符串示例模仿css...
    2007-04-04
  • 基于微信小程序?qū)崿F(xiàn)透明背景人像分割功能

    基于微信小程序?qū)崿F(xiàn)透明背景人像分割功能

    這篇文章主要介紹了基于小程序?qū)崿F(xiàn)透明背景人像分割,此文主要實(shí)現(xiàn)識(shí)別人體的輪廓范圍,與背景進(jìn)行分離并保存效果圖,適用于拍照背景替換及透明背景的人像圖(png格式)轉(zhuǎn)換,需要的朋友可以參考下
    2022-10-10
  • 微信小程序?qū)崿F(xiàn)tab切換效果

    微信小程序?qū)崿F(xiàn)tab切換效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)tab切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • SVG動(dòng)畫vivus.js庫(kù)使用小結(jié)(實(shí)例代碼)

    SVG動(dòng)畫vivus.js庫(kù)使用小結(jié)(實(shí)例代碼)

    本文通過(guò)代碼給大家介紹SVG動(dòng)畫vivus.js庫(kù)使用小結(jié),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-09-09
  • JavaScript中引用vs復(fù)制示例詳析

    JavaScript中引用vs復(fù)制示例詳析

    這篇文章主要給大家介紹了關(guān)于JavaScript中引用vs復(fù)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12

最新評(píng)論