最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作示例

 更新時(shí)間:2019年05月01日 11:55:36   作者:DCX_abc  
這篇文章主要介紹了JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作,結(jié)合實(shí)例形式分析了javascript字符串、數(shù)字等顯示類型轉(zhuǎn)換,以及運(yùn)算、判斷等情況下的隱式類型轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換。分享給大家供大家參考,具體如下:

在JavaScript中聲明變量不需指定類型, 對(duì)變量賦值也沒(méi)有類型檢查,同時(shí)JavaScript允許隱式類型轉(zhuǎn)換。這些特征說(shuō)明JavaScript屬于弱類型的語(yǔ)言。

(1).轉(zhuǎn)換為字符串

轉(zhuǎn)換為字符串是應(yīng)用程序中的常見(jiàn)操作,javascript提供了toString方法。多數(shù)的JavaScript宿主環(huán)境(比如Node.js和Chrome)都提供了全局函數(shù)toString; 與此同時(shí)Object.prototype也定義了toString方法,使得所有對(duì)象都擁有轉(zhuǎn)換為字符串的能力。

例如將一個(gè)Number轉(zhuǎn)換為String:

var n = 1;
n.toString(); // '1'

toString接受一個(gè)參數(shù)指定進(jìn)制,默認(rèn)為10. 可以利用這個(gè)參數(shù)生成包括字母和數(shù)字的隨機(jī)字符串?!癭

Math.random().toString(36).substr(2);

``random生成一個(gè)0到1的隨機(jī)數(shù),36進(jìn)制的字符集為[0-9a-z](36個(gè)),`substr`用來(lái)截掉起始的"0."。 另外`Object.prototype.toString`可以用來(lái)檢測(cè)JavaScript對(duì)象的類型:

var toString = Object.prototype.toString;
toString.call(new Date); // [object Date]
toString.call(new String); // [object String]
toString.call(Math); // [object Math]
// Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]
// 自定義類型
toString.call(new MyClass);  // [object Object]

轉(zhuǎn)換為數(shù)字

在JavaScript中可以直接用parseInt和parseFloat。 例如:

var iNum1 = parseInt("red");  //返回 NaN
var fNum4 = parseFloat("11.22.44"); //返回 11.22

強(qiáng)制類型轉(zhuǎn)換

強(qiáng)制類型轉(zhuǎn)換在C++中有兩種方式:用括號(hào)將類型聲明在變量之前;或者調(diào)用構(gòu)造函數(shù)。 在JavaScript中沒(méi)有類型關(guān)鍵字(只有一個(gè)var來(lái)聲明變量),因而只能調(diào)用構(gòu)造函數(shù):

Boolean(0) // => false - 零
Boolean(new object()) // => true - 對(duì)象
Number(undefined) // => NaN
Number(null) // => 0
String(null) // => “null”

隱式類型轉(zhuǎn)換

隱式類型轉(zhuǎn)換是最為隱蔽的地方,不加注意的話很容易在這一點(diǎn)上出錯(cuò),對(duì)這一點(diǎn)的掌握也體現(xiàn)了JavaScript程序員經(jīng)驗(yàn)。 JavaScript會(huì)自動(dòng)轉(zhuǎn)換表達(dá)式中對(duì)象的類型以完成表達(dá)式求值。

(1)四則運(yùn)算

加法運(yùn)算符+是雙目運(yùn)算符,只要其中一個(gè)是String類型,表達(dá)式的值便是一個(gè)String。

對(duì)于其他的四則運(yùn)算,只有其中一個(gè)是Number類型,表達(dá)式的值便是一個(gè)Number。

對(duì)于非法字符的情況通常會(huì)返回NaN:

‘1' * ‘a(chǎn)' // => NaN,這是因?yàn)閜arseInt(a)值為NaN,1 * NaN 還是 NaN

(2)判斷語(yǔ)句

判斷語(yǔ)句中的判斷條件需要是Boolean類型,所以條件表達(dá)式會(huì)被隱式轉(zhuǎn)換為Boolean。 其轉(zhuǎn)換規(guī)則同Boolean的構(gòu)造函數(shù)。

var obj = {};
if(obj){
while(obj);
}

(3)Native代碼調(diào)用**

JavaScript宿主環(huán)境都會(huì)提供大量的對(duì)象,它們往往不少通過(guò)JavaScript來(lái)實(shí)現(xiàn)的。 JavaScript給這些函數(shù)傳入的參數(shù)也會(huì)進(jìn)行隱式轉(zhuǎn)換。例如BOM提供的alert方法接受String類型的參數(shù):

alert({a: 1}); // => [object Object]

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript常用函數(shù)技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Javascript驗(yàn)證用戶輸入U(xiǎn)RL地址是否為空及格式是否正確

    Javascript驗(yàn)證用戶輸入U(xiǎn)RL地址是否為空及格式是否正確

    這篇文章主要介紹了Javascript驗(yàn)證用戶輸入U(xiǎn)RL地址是否為空及格式是否正確,很實(shí)用,需要的朋友可以參考下
    2014-10-10
  • 原生JS實(shí)現(xiàn)手動(dòng)輪播圖效果實(shí)例代碼

    原生JS實(shí)現(xiàn)手動(dòng)輪播圖效果實(shí)例代碼

    手動(dòng)輪播圖,為輪播圖中的一種,輪播圖主要有無(wú)縫輪播,手動(dòng)輪播,延遲輪播,切換輪播等等,輪播圖主要用于展現(xiàn)圖片,新出商品,詞條,又能美觀網(wǎng)頁(yè)。給網(wǎng)頁(yè)中增加動(dòng)態(tài)效果。接下來(lái)通過(guò)本文給大家分享原生JS實(shí)現(xiàn)手動(dòng)輪播圖的實(shí)例代碼,一起看看吧
    2018-11-11
  • 微信小程序開(kāi)發(fā)之?dāng)?shù)據(jù)存儲(chǔ) 參數(shù)傳遞 數(shù)據(jù)緩存

    微信小程序開(kāi)發(fā)之?dāng)?shù)據(jù)存儲(chǔ) 參數(shù)傳遞 數(shù)據(jù)緩存

    本文主要介紹了微信小程序開(kāi)發(fā)之?dāng)?shù)據(jù)存儲(chǔ)、參數(shù)傳遞、數(shù)據(jù)緩存的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-04-04
  • TypeScript中枚舉類型的理解與應(yīng)用場(chǎng)景

    TypeScript中枚舉類型的理解與應(yīng)用場(chǎng)景

    如 TypeScript 官方文檔所說(shuō),枚舉類型是對(duì) JavaScript 標(biāo)準(zhǔn)數(shù)據(jù)類型集的擴(kuò)充,所以下面這篇文章主要給大家介紹了關(guān)于TypeScript中枚舉類型的理解與應(yīng)用場(chǎng)景的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-09-09
  • JavaScript中的包裝對(duì)象介紹

    JavaScript中的包裝對(duì)象介紹

    這篇文章主要介紹了JavaScript中的包裝對(duì)象介紹,存取字符串、數(shù)字、或布爾值的屬性時(shí)創(chuàng)建的臨時(shí)對(duì)象稱作包裝對(duì)象,本文著重講解了什么是包裝對(duì)象,需要的朋友可以參考下
    2015-01-01
  • 微信小程序通過(guò)一個(gè)json實(shí)現(xiàn)分享朋友圈圖片

    微信小程序通過(guò)一個(gè)json實(shí)現(xiàn)分享朋友圈圖片

    這篇文章主要給大家介紹了關(guān)于微信小程序通過(guò)一個(gè)json實(shí)現(xiàn)分享朋友圈圖片的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用微信小程序具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Javascript函數(shù)技巧學(xué)習(xí)

    Javascript函數(shù)技巧學(xué)習(xí)

    這篇文章主要介紹了Javascript函數(shù)技巧學(xué)習(xí),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-07-07
  • js中傳遞特殊字符(+,&)的方法

    js中傳遞特殊字符(+,&)的方法

    這篇文章主要介紹了js中傳遞特殊字符(+,&)的方法,有需要的朋友可以參考一下
    2014-01-01
  • JS下載文件|無(wú)刷新下載文件示例代碼

    JS下載文件|無(wú)刷新下載文件示例代碼

    JS下載文件的實(shí)現(xiàn)在網(wǎng)上可以找到很多教程,不過(guò)本文為大家介紹的是無(wú)刷新下載文件,貌似更酷一點(diǎn)是吧
    2014-04-04
  • 27個(gè)JavaScript數(shù)組常見(jiàn)方法匯總與實(shí)例說(shuō)明

    27個(gè)JavaScript數(shù)組常見(jiàn)方法匯總與實(shí)例說(shuō)明

    這篇文章主要介紹了JavaScript數(shù)組常見(jiàn)方法匯總與實(shí)例說(shuō)明包括數(shù)組修改,數(shù)組增加,數(shù)組遍歷,數(shù)組排序等操作,需要的朋友可以參考下
    2022-12-12

最新評(píng)論

惠来县| 鸡东县| 望都县| 南通市| 调兵山市| 东乡族自治县| 洛扎县| 平江县| 九寨沟县| 云南省| 怀远县| 佛坪县| 龙泉市| 凤庆县| 阳江市| 汤原县| 利川市| 连南| 镇远县| 玉田县| 信丰县| 河源市| 邢台县| 泰和县| 罗山县| 民勤县| 闽侯县| 通许县| 台北市| 绍兴市| 响水县| 牟定县| 云林县| 台中市| 中宁县| 新源县| 乐清市| 玉环县| 隆化县| 黑山县| 洞头县|