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

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

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

基礎數(shù)據(jù)之間的轉換

其它類型轉化數(shù)字
原始數(shù)據(jù)類型 目標類型Number
undefined NaN
null 0
false 0
true 1
數(shù)字串 相應的數(shù)字
不能轉化的字符串 NaN
其它類型轉化為字符串
原始數(shù)據(jù)類型 目標類型String
undefined undefined
null null
false false
true true
數(shù)字 數(shù)字字符串

 

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

復制代碼 代碼如下:

null + undefined // 0+NaN

null + false // 0+0

1 + true // 1+1

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

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

1 + (2 +'3') //'123';先運算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

對象參與加減法運算

對象參與基礎類型數(shù)據(jù)運算,先轉化為基礎類型。先調用其valueOf方法,如果返回的不是基礎類型,再調用其toString方法,如果返回的還不是基礎類型,則拋出錯誤。但是,Date數(shù)據(jù)剛好相反

復制代碼 代碼如下:

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

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

Date.prototype.valueOf = function(){

    return 2;
}

var a = new Date,
    b = new Date;

a + b; // 調用toString,1 + 1,結果是2

// 再重寫toString方法

Date.prototype.toString = function(){

    return {};
}

var c = new Date,
    d = new Date;

c + d; // 調用toString方法返回的不是基礎類型,再調用valueOf,2 + 2,結果是4

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

    return {};
}

var e = new Date,
    f = new Date;

e + f; // 報錯

把上面的例子換成Object或者其他類型能得到相應的結果,不過是先調用valueOf,再調用toString。

'+'號的神奇功效

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

復制代碼 代碼如下:

+'1'+1 // 2

+'s'+2 // NaN

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

相關文章

  • 純JS半透明Tip效果代碼

    純JS半透明Tip效果代碼

    自己根據(jù)網(wǎng)上提供的一個透明功能類庫寫的純JS半透明Tip效果
    2008-10-10
  • JavaScript中使用arguments獲得函數(shù)傳參個數(shù)實例

    JavaScript中使用arguments獲得函數(shù)傳參個數(shù)實例

    這篇文章主要介紹了JavaScript中使用arguments獲得函數(shù)傳參個數(shù)實例,本文用了多個例子來講解arguments的使用,需要的朋友可以參考下
    2014-08-08
  • js判斷undefined變量類型使用typeof

    js判斷undefined變量類型使用typeof

    js判斷undefined變量類型使用typeof可以輕松實現(xiàn),不了解的朋友可以參考下哈,希望對你有所幫助
    2013-06-06
  • JS項目中對本地存儲進行二次的封裝的實現(xiàn)

    JS項目中對本地存儲進行二次的封裝的實現(xiàn)

    這篇文章主要介紹了JS項目中對本地存儲進行二次的封裝,這里我們將要使用到的key存儲下來,新建一個叫constant-storage.js的文件,對外暴露一些key的鍵名,也方便后期統(tǒng)一修改,這里因為都是恒量,所以名稱我們都用大寫表示,需要的朋友可以參考下
    2022-07-07
  • 微信小程序如何監(jiān)聽全局變量

    微信小程序如何監(jiān)聽全局變量

    這篇文章主要給大家介紹了關于微信小程序如何監(jiān)聽全局變量的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • 在JavaScript中添加css樣式(js追加類)代碼示例

    在JavaScript中添加css樣式(js追加類)代碼示例

    這篇文章主要給大家介紹了關于在JavaScript中如何添加css樣式,也就是js追加類的相關資料,JavaScript是一種廣泛應用于互聯(lián)網(wǎng)開發(fā)的編程語言,它能夠幫助網(wǎng)頁實現(xiàn)動態(tài)效果和交互性,需要的朋友可以參考下
    2024-01-01
  • 讓你徹底掌握es6 Promise的八段代碼

    讓你徹底掌握es6 Promise的八段代碼

    Promise對象可以理解為一次執(zhí)行的異步操作,使用promise對象之后可以使用一種鏈式調用的方式來組織代碼;讓代碼更加的直觀,下面這篇文章主要跟大家分享了讓大家徹底掌握es6 Promise的八段代碼,需要的朋友可以參考下。
    2017-07-07
  • JS之相等操作符詳解

    JS之相等操作符詳解

    下面小編就為大家?guī)硪黄狫S之相等操作符詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • 一個js控制的導航菜單實例代碼

    一個js控制的導航菜單實例代碼

    這篇文章主要是對js控制的導航菜單實例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • Javascript從數(shù)組中隨機取出不同元素的兩種方法

    Javascript從數(shù)組中隨機取出不同元素的兩種方法

    這篇文章給大家分享了兩種Javascript從數(shù)組中隨機取出不同元素的方法,大家可以都學習學習,這樣更能有助于大家的學習和理解,下面來一起看看吧
    2016-09-09

最新評論

云阳县| 正定县| 萝北县| 盐池县| 长乐市| 台安县| 金溪县| 宜城市| 阿坝县| 鹤岗市| 赣州市| 麦盖提县| 瑞昌市| 申扎县| 察哈| 威海市| 阆中市| 新民市| 黑河市| 乌审旗| 辽源市| 重庆市| 扎赉特旗| 乐平市| 仪征市| 哈尔滨市| 水富县| 毕节市| 揭东县| 宣威市| 琼结县| 汾西县| 拉萨市| 永福县| 泰州市| 小金县| 博爱县| 读书| 瑞丽市| 关岭| 鄄城县|