日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

一篇搞懂 toString()函數與valueOf()函數,

來源: 責編: 時間:2023-12-05 09:25:02 280觀看
導讀tostring 和 valueOf 函數是解決值的顯示和運算的問題。所有的 Object 類型的數據都自帶 toString 和 valueOf 函數。比如我們定一個 Object 類型數據:const obj = { name: "duxin"}console.log(obj.valueOf()); //

tostring 和 valueOf 函數是解決值的顯示和運算的問題。所有的 Object 類型的數據都自帶 toString 和 valueOf 函數。Yg728資訊網——每日最新資訊28at.com

比如我們定一個 Object 類型數據:Yg728資訊網——每日最新資訊28at.com

const obj = {    name: "duxin"}console.log(obj.valueOf()); // { name: 'duxin' }

toString()

toString 函數的作用是把一個邏輯轉換為字符串,并且返回 Object 類型數據的 toString()默認的返回值"[object Object]"。Yg728資訊網——每日最新資訊28at.com

如果我們在定義對象的時候,可以重寫 tosString 函數,這樣 toString 的返回值可讀性會更好一些,比如:Yg728資訊網——每日最新資訊28at.com

const obj = {    name: "duxin",    toString:function(){        return this.name;    }}console.log(obj.valueOf()); // { name: 'duxin' }console.log(obj.toString()); // duxin

以下這些函數都是有自定義的 toString 函數:Yg728資訊網——每日最新資訊28at.com

  1. Array 的 toString 函數返回值是以逗號分隔的字符串;
  2. Function 的 toString 函數返回值是函數自身的文本定義;
  3. Date 的 toString 函數返回值是時間字符串;

valueOf()

valueOf 函數返回引用類型的原始值,如果沒有原始值,就返回"{}",就是空對象的字面量Yg728資訊網——每日最新資訊28at.com

  1. Array的valueOf函數返回的值數組本身;
  2. Function的valueOf函數返回的是函數本身;
  3. Date的valueOf函數返回的值時間戳。

在發生數據類型轉換的時候,有liang兩種場景:Yg728資訊網——每日最新資訊28at.com

  1. 引用數據類型轉為String,先是調用toString函數,有值的話,就直接返回該字符串;如果對象沒有toString,那就調用valueOf函數,然后將原始值轉為字符串并且返回;如果toString或者valueOf都不能獲取原始值,那就拋出類型轉換異常;
var arr = [];arr.toString = function () {     console.log('調用了toString()函數');     return [];};arr.valueOf = function () {     console.log('調用了valueOf()函數');     return [];};console.log(String(arr));

在執行String(arr)的時候,是先將數組轉為字符串,調用的是toString,它的結果不能轉為string;Yg728資訊網——每日最新資訊28at.com

那就調用valueOf函數,它的返回值也是一個空數組,也不能轉為字符串,那就只能拋出類型轉換異常了。Yg728資訊網——每日最新資訊28at.com

  1. 引用類型在轉化為number的時候,首先會判斷對象是否含有valueOf函數,如果有,那就調用valueOf函數,把它的返回值轉為數字,然后返回;如果沒有valueOf函數,就調用toString函數,將返回值轉為數字并返回。如果toString或者valueOf都不能獲取到原始值的話,那就拋出類型轉換異常。

本文鏈接:http://www.www897cc.com/showinfo-26-38114-0.html一篇搞懂 toString()函數與valueOf()函數,

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Python中的單例模式,這些你都會嗎?

下一篇: 你應該知道的13個最常見的JavaScript字符串方法

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 巴马| 大安市| 清丰县| 阿城市| 吉林省| 西青区| 泊头市| 洱源县| 武城县| 九寨沟县| 浑源县| 青浦区| 突泉县| 吉木乃县| 日照市| 西乌珠穆沁旗| 洪湖市| 星子县| 云阳县| 民县| 维西| 福鼎市| 厦门市| 方山县| 嘉义市| 广平县| 蒲城县| 泸定县| 高平市| 四会市| 保德县| 宁阳县| 永清县| 仙游县| 石泉县| 孝感市| 元阳县| 岳普湖县| 滦南县| 阿尔山市| 新兴县|