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

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

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

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

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

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

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

toString()

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

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

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

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

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

valueOf()

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

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

在發生數據類型轉換的時候,有liang兩種場景:JTf28資訊網——每日最新資訊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;JTf28資訊網——每日最新資訊28at.com

那就調用valueOf函數,它的返回值也是一個空數組,也不能轉為字符串,那就只能拋出類型轉換異常了。JTf28資訊網——每日最新資訊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 主站蜘蛛池模板: 北流市| 福建省| 丹江口市| 全州县| 平江县| 顺昌县| 原平市| 巴南区| 舞钢市| 井陉县| 盐边县| 五寨县| 鹿邑县| 靖边县| 金山区| 潍坊市| 玉溪市| 澜沧| 泉州市| 南川市| 平度市| 徐水县| 台中县| 宝鸡市| 大埔区| 贵德县| 镇巴县| 惠东县| 长岛县| 麦盖提县| 岳普湖县| 边坝县| 宝丰县| 攀枝花市| 岑巩县| 金湖县| 乌兰县| 道真| 洛阳市| 阿坝| 莎车县|