valueOf和toString曾經欺騙過你嗎?

2022-03-17 08:51:28 字數 831 閱讀 1641

以前寫js都是簡單的表單驗證,從來也沒有做過其他什麼操作。

有很多人肯定寫過這樣的**

1

var number = 10;

2 alert(number + 10); //

result:20

3 alert(number + "10"); //

result:1010

我當初看這幾段**的時候,很隨意的就過去了啊。很明顯的東西啊。資料自動轉換。

沒看出有啥不妥的地方。為什麼會這樣了啊。我也沒有了解過。今天我看到這樣的乙個例子就有點發懵了。

我們先來自定義乙個demo來看看

?functiondemo(value)

this.tostring =function()

?}

?vardemo =newdemo(22);

?alert(demo + 10);

?document.write(demo);

如果先要轉換成數值型別的時候,他就呼叫valueof方法。如果先轉換成字元型別的時候,就呼叫tostring方法。

記住這一點哦。

不過我也不知道明白了這一點有什麼用處。大家可以發表自己的意見。我們一來來學習詭異的js.

java parseInt和valueof的區別

他們返回型別的不同是最大的原因 static int parseint string s 將字串引數作為有符號的十進位制整數進行分析。static integer valueof int i 返回乙個表示指定的 int 值的 integer 例項。static integer valueof str...

valueOf函式詳解

在型別轉換中,經常用到方法valueof 和他tostring 所有物件 包括基本包裝型別 都擁有這兩個方法。這篇文章我們先看看valueof 方法。valueof 方法會將物件轉換為基本型別,如果無法轉換為基本型別,則返回原物件。var obj new boolean true console.l...

BigDecimal的3個toString方法

本文介紹bigdecimal的3個tostring方法的區別。bigdecimal類有3個tostring方法,分別是toengineeringstring toplainstring和tostring,從bigdecimal的注釋中可以看到這3個方法的區別 toengineeringstring ...