麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

對象轉換為原始值的實現方法

2019-11-20 09:47:24
字體:
來源:轉載
供稿:網友

首先,我們要明白原始值得概念

原始值

存儲在棧(stack)中的簡單數據段,也就是說,它們的值直接存儲在變量訪問的位置。

引用值

存儲在堆(heap)中的對象,也就是說,存儲在變量處的值是一個指針(point),指向存儲對象的內存處

――――引用了w3c里的概念

原始值,簡單點理解就是 null  undefined string number Boolean 這些

對象轉換為boolean相對簡單

所有的對象(包括數組和函數)都轉換成true,包裝對象從也是對象,也轉換為true

書上是這么說的  “存取字符串,數字和布爾值的屬性時創建的臨時對象稱之為包裝對象”,我是這么理解的,new出來的string啊,number啊,boolean啊都算作包裝對象,他有別于對象,但它確實是個對象,最主要的區別就是不能給包裝對象定義新的屬性,因為string number Boolean的屬性是只讀的。

對象轉換為string類型

如果 對象具有toString()方法,就調用toString()的方法,如果返回一個原始值,就把這個原始值轉換成字符串,對象就轉換成這個字符串,如果不具有toString()方法或者這個方法返回的值不是一個原始值,那么就調用valueOf()方法,同樣的套路,如果返回的是一個原始值,就把這個原始值轉換成字符串,那么對象也就轉換成了這個字符串了,如果返回的不是一個原始值,就拋出一個類型轉換的錯誤。

這里的toString()方法和valueOf()方法就不一一贅述了,

對象轉換為number類型

相比較轉換成string,轉換number的過程,正好的與其相反,先調用valueOf()方法,再調用toString()方法,最后toString()方法返回的不是一個原始值是,js就拋出一個錯誤。

當使用"=="和"+"運算符進行數字的計算或者字符串的拼接時,如果運算符的一側是對象,將使用特殊的對象轉換為原始值的方法。對于非日期對象,對象轉換成原始值就是

對象先調用valueOf()方法,再調用tostring()方法,并將通過調用這兩個方法得到的原始值直接作為對象轉換成的原始值,對于日期對象來說,先調用toString()方法,再調用valueOf方法。

對于日期對象轉換成原始值,舉個例子吧

 

var now=new Date(); typeOf(now+1);     //"string" 將日期對象轉換成了字符串,因為先調用的是toString()方法 typeOf(now-1);      //"number" 體現了js的靈活性,"-"將字符串轉換線成了number 

以上這篇對象轉換為原始值的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人在线激情视频 | 日本不卡一区二区在线观看 | 成年免费看 | 五月天影院,久久综合, | 色毛片| 激情视频免费看 | 成人福利视频网站 | 免费观看视频在线 | 成人nv在线观看 | 最新av网址在线观看 | 一级在线 | 日韩一级电影在线观看 | www.91sese | 久久伊人国产精品 | 欧美日韩a∨毛片一区 | 亚洲精品一区中文字幕 | 欧美在线a | 欧美激情天堂 | xnxx 日本19 | 欧美hdfree性xxxx | 91九色免费视频 | 中文字幕免费播放 | 欧美成人精品一级 | 精品一区二区在线视频 | 福利在线国产 | 国产精品自拍片 | 欧美不卡| 91精品国产91 | 久久久久久久久久久久久久国产 | 看91视频 | 国产免费一区二区三区在线能观看 | 姑娘第四集免费看视频 | 午夜视频国产 | 妇子乱av一区二区三区 | 自拍偷拍999 | 精品国产观看 | 污片视频在线观看 | 亚洲国产一区二区三区 | 成年性羞羞视频免费观看无限 | 男女羞羞视频在线免费观看 | 国产成人在线一区 |