日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript基础:(加号,数值转换,布尔转换)

發(fā)布時(shí)間:2025/3/15 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript基础:(加号,数值转换,布尔转换) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

JavaScript中加號運(yùn)算符"+" 運(yùn)算過程理解

1) 如果其中一個(gè)操作數(shù)是對象,則對象會(huì)遵循對象到原始值的轉(zhuǎn)換規(guī)則轉(zhuǎn)換為原始值。日期對象通過toString()方法執(zhí)行轉(zhuǎn)換,其它對象則通過valueOf()方法執(zhí)行轉(zhuǎn)換。由于多數(shù)對象都不具備valueOf()方法,因此就會(huì)調(diào)用toString()方法來進(jìn)行轉(zhuǎn)換。?
2)在進(jìn)行對象到原始值的轉(zhuǎn)換后,如果其中一個(gè)操作數(shù)是字符串的話,則另一個(gè)操作數(shù)也會(huì)轉(zhuǎn)換為字符串,然后進(jìn)行字符串的連接操作。?
3)否則,兩個(gè)操作數(shù)都將轉(zhuǎn)換為數(shù)字(或者NaN),然后進(jìn)行加法操作。

不同類型操作數(shù)相加后的類型如下表:

?undefined1null2? ? ??boolean3number4string
undefinednumber(NaN)numbernumbernumberstring
nullnumber(NaN)number(0)numbernumberstring
booleannumber(NaN)number(1或0)numbernumberstring
numbernumber(NaN)numbernumbernumberstring
string

string

stringstringstringstring

?1、

“a”+undefined = “aundefined”;

總結(jié):任何基本數(shù)據(jù)類型(除String外)+undefined都為number類型,值為NaN

?2、

true+null=1;(true轉(zhuǎn)為1,null轉(zhuǎn)為0)

false+null=0;(false轉(zhuǎn)為0,null轉(zhuǎn)為0)

10+null=10;

null+“str”=”nullstr”;

3、

true+true=2;(true轉(zhuǎn)為1)

true+false=1;(true轉(zhuǎn)為1,false轉(zhuǎn)為0)

10+true=11;(true轉(zhuǎn)為1)

true+“1”=“true1”;

4、

6+“77”=“677”?

?

JavaScript中parseInt()和parseFloat()非強(qiáng)制轉(zhuǎn)換,Number()強(qiáng)制轉(zhuǎn)換

1、parseInt(string, radix): 函數(shù)可解析一個(gè)字符串,并返回一個(gè)整數(shù)。

當(dāng)忽略參數(shù) radix , JavaScript 默認(rèn)數(shù)字的基數(shù)如下:當(dāng)參數(shù) radix 的值為 0,或沒有設(shè)置該參數(shù)時(shí),parseInt() 會(huì)根據(jù) string 來判斷數(shù)字的基數(shù)。

  • 如果 string 以 "0x" 開頭,parseInt() 會(huì)把 string 的其余部分解析為十六進(jìn)制的整數(shù)。
  • 如果 string 以 0 開頭,ECMAScript版本小于ECMAScript 5,當(dāng)字符串以"0"開頭時(shí)默認(rèn)使用八進(jìn)制,ECMAScript 5使用的是十進(jìn)制
  • 如果 string 以 1 ~ 9 的數(shù)字開頭,parseInt() 將把它解析為十進(jìn)制的整數(shù)。

例:

parseInt(“123”);123

parseInt(“ 0消費(fèi)”);0(忽略前面的空格)

parseInt(“0xf”);15

parseInt(“0 xf”);0 ? ? ? (中間的空格不忽略)

2、parseFloat(string): 函數(shù)可解析一個(gè)字符串,并返回一個(gè)浮點(diǎn)數(shù)。

提示和注釋

開頭和結(jié)尾的空格是允許的。

提示:如果字符串的第一個(gè)字符不能被轉(zhuǎn)換為數(shù)字,那么 parseFloat() 會(huì)返回 NaN。

提示:如果只想解析數(shù)字的整數(shù)部分,請使用 parseInt() 方法。

實(shí)例

例子 1

在本例中,我們將使用 parseFloat() 來解析不同的字符串:

<script type="text/javascript">document.write(parseFloat("10")) document.write(parseFloat("10.00")) document.write(parseFloat("10.33")) document.write(parseFloat("34 45 66")) document.write(parseFloat(" 60 ")) document.write(parseFloat("40 years")) document.write(parseFloat("He was 40"))</script>

輸出:

10 10 10.33 34 60 40 NaN

例子 2

下面的例子都返回 3.14:

<script type="text/javascript">document.write(parseFloat("3.14")) document.write(parseFloat("314e-2")) document.write(parseFloat("0.0314E+2")) document.write(parseFloat("3.14more non-digit characters")) </script>

輸出:

3.14

例子 3

下面的例子將返回 NaN:

<script type="text/javascript">document.write(parseFloat("FF2")) </script>

輸出:

NaN

3、Number():強(qiáng)制轉(zhuǎn)化,如果轉(zhuǎn)換的是字符串,字符串內(nèi)必須都是有效的數(shù)字字符才可以轉(zhuǎn)換,如過有一個(gè)不是有效數(shù)字,則無法轉(zhuǎn)換,會(huì)返回NaN。

var cur="1adc";

var?str="1";

console.log(Number(cur));//NaN

console.log(Number(str));//1

4、Booleanr():強(qiáng)制轉(zhuǎn)化

1、除0(-0)之外的所有數(shù)字,轉(zhuǎn)換為boolean型都為true

2、除“”(空字符串)之外的所有字符轉(zhuǎn)為boolean 都為true,空格字符串也為true

3、null和undefined轉(zhuǎn)換為boolean型是false

4、特殊數(shù)字NaN轉(zhuǎn)為boolean型也為false

(有就true,無就false,特殊NaN永遠(yuǎn)都是false)

轉(zhuǎn)載于:https://www.cnblogs.com/zwjx/p/7729509.html

總結(jié)

以上是生活随笔為你收集整理的JavaScript基础:(加号,数值转换,布尔转换)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。