欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript不同類型數(shù)據(jù)之間的運(yùn)算的轉(zhuǎn)換方法

 更新時(shí)間:2014年02月13日 15:18:11   作者:  
這篇文章主要介紹了javascript不同類型數(shù)據(jù)之間的運(yùn)算的轉(zhuǎn)換方法,需要的朋友可以參考下
js中不同類型的基礎(chǔ)數(shù)據(jù)之間可以轉(zhuǎn)換,這種轉(zhuǎn)換是有規(guī)則可尋的,并非隨意的隨機(jī)的。在js中有5種基礎(chǔ)類型數(shù)據(jù):string、number、boolean、null、undefined,其中,常用于計(jì)算或者比較的類型是前面三種。

基礎(chǔ)數(shù)據(jù)之間的轉(zhuǎn)換

其它類型轉(zhuǎn)化數(shù)字
原始數(shù)據(jù)類型 目標(biāo)類型Number
undefined NaN
null 0
false 0
true 1
數(shù)字串 相應(yīng)的數(shù)字
不能轉(zhuǎn)化的字符串 NaN
其它類型轉(zhuǎn)化為字符串
原始數(shù)據(jù)類型 目標(biāo)類型String
undefined undefined
null null
false false
true true
數(shù)字 數(shù)字字符串

 

不同類型的基礎(chǔ)數(shù)據(jù)之間的加法,數(shù)據(jù)先轉(zhuǎn)換為number,然后轉(zhuǎn)換為string(如果有string類型數(shù)據(jù)參與運(yùn)算)

復(fù)制代碼 代碼如下:

null + undefined // 0+NaN

null + false // 0+0

1 + true // 1+1

1 + '1' //'11';數(shù)字與字符串相加結(jié)果是字符串

1 + 2 + '3'  //'33';(1+2)的結(jié)果然后與'3'相加;這里要把每一步加法單獨(dú)拆開(kāi)來(lái)看,否則變成和下面一樣的結(jié)果了.

1 + (2 +'3') //'123';先運(yùn)算2+'3',然后1+'23'

's' + null //'snull'

's' + undefined // 'sundefined'

's' + true //'strue'

1 + true + undefined + 's' // 1+1+NaN+'s'=2+NaN+'s'=NaN+'s'=NaNs

對(duì)象參與加減法運(yùn)算

對(duì)象參與基礎(chǔ)類型數(shù)據(jù)運(yùn)算,先轉(zhuǎn)化為基礎(chǔ)類型。先調(diào)用其valueOf方法,如果返回的不是基礎(chǔ)類型,再調(diào)用其toString方法,如果返回的還不是基礎(chǔ)類型,則拋出錯(cuò)誤。但是,Date數(shù)據(jù)剛好相反

復(fù)制代碼 代碼如下:

//為了便于觀察重寫Date的toString方法和valueOf方法

Date.prototype.toString = function(){
    return 1;
}

Date.prototype.valueOf = function(){

    return 2;
}

var a = new Date,
    b = new Date;

a + b; // 調(diào)用toString,1 + 1,結(jié)果是2

// 再重寫toString方法

Date.prototype.toString = function(){

    return {};
}

var c = new Date,
    d = new Date;

c + d; // 調(diào)用toString方法返回的不是基礎(chǔ)類型,再調(diào)用valueOf,2 + 2,結(jié)果是4

// 再重寫valueOf方法
Date.prototype.valueOf = function(){

    return {};
}

var e = new Date,
    f = new Date;

e + f; // 報(bào)錯(cuò)

把上面的例子換成Object或者其他類型能得到相應(yīng)的結(jié)果,不過(guò)是先調(diào)用valueOf,再調(diào)用toString。

'+'號(hào)的神奇功效

數(shù)據(jù)前有加號(hào)‘+',可以讓字符串轉(zhuǎn)化為數(shù)字

復(fù)制代碼 代碼如下:

+'1'+1 // 2

+'s'+2 // NaN

注:第一次,格式不好,紕漏多,歡迎大家拍磚

相關(guān)文章

  • JS實(shí)現(xiàn)水平遍歷和嵌套遞歸操作示例

    JS實(shí)現(xiàn)水平遍歷和嵌套遞歸操作示例

    這篇文章主要介紹了JS實(shí)現(xiàn)水平遍歷和嵌套遞歸操作,結(jié)合實(shí)例形式分析了javascript遍歷與遞歸相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • 一個(gè)簡(jiǎn)單的js樹(shù)形菜單

    一個(gè)簡(jiǎn)單的js樹(shù)形菜單

    說(shuō)到樹(shù)形菜單,貌似一般是用在一些管理系統(tǒng)里面的,我是還沒(méi)有用到過(guò),有些zTree之類的插件已經(jīng)做得比較好了
    2011-12-12
  • TBCompressor js代碼壓縮

    TBCompressor js代碼壓縮

    公司原先的JS和CSS文件都是用在線壓縮程序壓縮的,看似方便,但很容易出錯(cuò),可能是壓縮程序把CSS里面的一些Hack語(yǔ)句給混淆了,于是我決定用大名鼎鼎的YUI compressor。
    2011-01-01
  • js實(shí)現(xiàn)下拉列表選中某個(gè)值的方法(3種方法)

    js實(shí)現(xiàn)下拉列表選中某個(gè)值的方法(3種方法)

    這篇文章主要介紹了js實(shí)現(xiàn)下拉列表選中某個(gè)值的方法,涉及JavaScript針對(duì)select下拉列表選擇操作的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • js prototype截取字符串函數(shù)

    js prototype截取字符串函數(shù)

    prototype它是用Javascript寫好的一些API,包括對(duì)Javascript中的類如String,Array等進(jìn)行的擴(kuò)充,把JS文件嵌入后直接用就行了
    2010-04-04
  • JS左右無(wú)縫輪播功能完整實(shí)例

    JS左右無(wú)縫輪播功能完整實(shí)例

    這篇文章主要介紹了JS左右無(wú)縫輪播功能,結(jié)合完整實(shí)例形式分析了javascript事件響應(yīng)及頁(yè)面元素屬性動(dòng)態(tài)變換相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • JS實(shí)現(xiàn)獲取進(jìn)今年第幾天是周幾的方法分析

    JS實(shí)現(xiàn)獲取進(jìn)今年第幾天是周幾的方法分析

    這篇文章主要介紹了JS實(shí)現(xiàn)獲取進(jìn)今年第幾天是周幾的方法,結(jié)合實(shí)例形式對(duì)比分析了JavaScript進(jìn)行日期與天數(shù)運(yùn)算相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • JS中的XMLHttpRequest?對(duì)象示例詳解

    JS中的XMLHttpRequest?對(duì)象示例詳解

    xmlhttp是一種瀏覽器對(duì)象,?可用于模擬http的GET和POST請(qǐng)求,xmlhttp配合JavaScript可以實(shí)現(xiàn)頁(yè)面數(shù)據(jù)在無(wú)刷新下的定時(shí)數(shù)據(jù)更新,如果應(yīng)用在聊天室、文字直播上,可以取得較好的視覺(jué)效果,這篇文章主要介紹了JS——XMLHttpRequest?對(duì)象,需要的朋友可以參考下
    2024-01-01
  • js帶鬧鈴功能的倒計(jì)時(shí)代碼

    js帶鬧鈴功能的倒計(jì)時(shí)代碼

    這篇文章主要為大家詳細(xì)介紹了js帶鬧鈴功能的倒計(jì)時(shí)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • js 將json字符串轉(zhuǎn)換為json對(duì)象的方法解析

    js 將json字符串轉(zhuǎn)換為json對(duì)象的方法解析

    將json字符串轉(zhuǎn)換為json對(duì)象的方法。在數(shù)據(jù)傳輸過(guò)程中,json是以文本,即字符串的形式傳遞的,而JS操作的是JSON對(duì)象,所以,JSON對(duì)象和JSON字符串之間的相互轉(zhuǎn)換是關(guān)鍵
    2013-11-11

最新評(píng)論