最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript類型轉(zhuǎn)換方法及需要注意的問題小結(jié)(挺全面)

 更新時間:2010年11月11日 14:33:38   作者:  
JavaScript類型轉(zhuǎn)換方法及需要注意的問題,在js中經(jīng)常需要對數(shù)據(jù)類型的轉(zhuǎn)換操作,需要的朋友可以參考下。
一、類型轉(zhuǎn)換的方法和應該注意的問題:
1.
轉(zhuǎn)換為布爾型:
1)用兩次非運算(!):
!!5 ==> true
2)用布爾型的構(gòu)造函數(shù):
new Boolean(5) == > true
值轉(zhuǎn)換為布爾類型為false
0
,+0,-0,NaN,""(空字符串),undefined,null
除上面的值其他值在轉(zhuǎn)換以后為true,需要特別提到的是:
"0",new Object(),function(){}
2.
轉(zhuǎn)換為字符串類型:
1)加上空字符串""
123 +
 "" = "123"
2)用字符串構(gòu)造函數(shù):
new String(123) = "123".
需要特別注意的轉(zhuǎn)化:
+0 ==> "0"
-0 ==> "0"
-Infinity ==>"-Infinity"
+Infinity ==>"+Infinity"
NaN ==> "NaN"
undefined ==> "undefined"
null ==> "null"
new Object() ==> "[object Object]"
function(){} ==> "function(){}"
3.
轉(zhuǎn)換為數(shù)值型:
1 取正(+), 減零 -0), 乘一,(*1),除以一(/1),取負(-,這個得到相反的值)。
+"123" = 123
+true = 1
2)用構(gòu)造函數(shù)Number();
new Number("123") = 123
幾個需要特別注意的轉(zhuǎn)化:
""
(空字符串) ==> 0
"010" ==> 10
"0x10"(16
進制) ==> 16
"-010" ==> -10
"-0x10" ==> NaN
undefined ==> NaN
null ==> 0
true ==> 1
false ==> 0
new Object() ==> NaN
new function(){} ==> NaN


二、隱式類型轉(zhuǎn)換:
(1)
二元加法運算(+):如果兩個操作數(shù)中有一個是String類型,將把兩個操作數(shù)轉(zhuǎn)換為String類型再相加。
如果兩個操作數(shù)中沒有字符串類型,那么將把兩個操作數(shù)轉(zhuǎn)換為數(shù)值類型再做運算。
舉例:
"123"+123 = "123123";
123+123 = 246
true + true = 2
true + undefined = NaN
(因為undefined轉(zhuǎn)換為數(shù)值為NaN,所有結(jié)果為NaN)
true + null = 1 (null
轉(zhuǎn)換為數(shù)字是0)
"123" + null = "123null" (
包含字符串將轉(zhuǎn)化為字符串相加)
"123" + undefined = "123undefined"
undefined同樣適用)
1 + 2 + "123" = "3123" (1+2
是首先按照數(shù)值型計算的)
(2)
二元減乘除運算(-*/):因為只有數(shù)值類型才有 - * / 運算,所以會先將兩個操作數(shù)轉(zhuǎn)換為數(shù)值型再做運算。
"123"-123 = 0
(3)
一元取正(+),取負運算符(-):取正或者取負都是針對數(shù)值型的運算,所以會將操作數(shù)轉(zhuǎn)換為數(shù)值型再做運算。
+"123" = 123
-"123" = -123
+"123e" = NaN
+"123f" = NaN
+"123e-2" = 1.23 
(4)
一元非(!)運算符:非運算符需要將操作數(shù)轉(zhuǎn)化為布爾類型。
!"123" = false
!!"123" = true
!123 = false
!!123 = true
(5)
邏輯運算符(&&)和(||):
&&或者||的兩側(cè)被判斷的時候會被轉(zhuǎn)為布爾類型進行判斷,
但是我在測試的時候卻發(fā)現(xiàn)一個有趣的事情。
&&
運算符:如果有一個項為false,那么表達式返回false,如果所有的項都不為false,那么表達式返回最右邊一個項的原始值。
舉例:
123 && 23 && 45
返回 45,而不是我們想象中的true.
所以如果有 123 && 23 == true 那么應該是false。
至于if(123 && 23) 認為是true那應該是把23轉(zhuǎn)換為布爾類型了。
||
運算符:
|| 測試的結(jié)果也和我想象的不一樣,|| 返回第一個轉(zhuǎn)換以后不為false的值,如果都為false,它將返回最后一個為false的值(未進行類型轉(zhuǎn)化之前的值)。
舉例: 
123 || 23
返回 123,而不是想象中的true.
false || null
返回null, 而不是想象中的false。
三、類型轉(zhuǎn)換函數(shù)
1.
parseFloat轉(zhuǎn)換為浮點數(shù):
字符解析函數(shù)獲取每一個字符直到遇到不屬于數(shù)值的字符,然后返回它已獲取的數(shù)值.
幾個需要特別注意的:
""
(空字符串) ==> NaN
"123e-2" == > 1.23 (
科學計算法是可以識別的)
"010" ==> 10 (8
進制不能識別)
"0x10"==> 0 (16
進制不識別)
"-010" ==> -10 
null,undefined,true,false,new Object(),function(){} ==> NaN
2.parseInt
轉(zhuǎn)換為有符號整數(shù):
parseFloat相似,但是他會把小數(shù)位舍掉(注意不是四舍五入,是完全舍棄,跟Math.floor處理方式一樣),而且他可以識別八進制和16進制表示方式:
123e-2 == > 1
"123e-2" ==> 123
"010" == > 8 
"0x10" ==> 16
"-010" == > -8 
"-0x10" ==> -16
null,undefined,true,false,new Object(),function(){},-Infinity +Infinity NaN ==> NaN
3.
三個取整函數(shù)的區(qū)別
1Math.ceil():“天花板,很形象吧?就是取大于等于參數(shù)的最小整數(shù)。
8.7 == > 9
-8.7==> -8
2Math.floor():"地板",取小于等于參數(shù)的最小整數(shù)。
8.7 ==> 8
-8.7 ==> -9
3Math.round():"四舍五入"取整數(shù)。

相關(guān)文章

  • 原生態(tài)js,鼠標按下后,經(jīng)過了那些單元格的簡單實例

    原生態(tài)js,鼠標按下后,經(jīng)過了那些單元格的簡單實例

    下面小編就為大家?guī)硪黄鷳B(tài)js,鼠標按下后,經(jīng)過了那些單元格的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 前端開發(fā)之JS生成32位隨機數(shù)的方法舉例

    前端開發(fā)之JS生成32位隨機數(shù)的方法舉例

    最近有個需求,是需要生成32位長度的隨機數(shù),下面這篇文章主要給大家介紹了關(guān)于前端開發(fā)之JS生成32位隨機數(shù)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • JS獲得瀏覽器版本和操作系統(tǒng)版本的例子

    JS獲得瀏覽器版本和操作系統(tǒng)版本的例子

    通過分析各類瀏覽器的userAgent信息,不難得出分辨各類瀏覽器及其版本的正則表達式。而且,對瀏覽器類型的判斷和版本的判斷完全可以合為一體地進行。
    2014-05-05
  • JavaScript  函數(shù)語法詳解

    JavaScript 函數(shù)語法詳解

    本文結(jié)合前面發(fā)布的文章,詳細介紹了javascript的函數(shù)語法,非常的詳盡,非常的實用,這里推薦給大家,是篇不可多得的文章
    2021-09-09
  • 詳解maxlength屬性在textarea里奇怪的表現(xiàn)

    詳解maxlength屬性在textarea里奇怪的表現(xiàn)

    這篇文章主要介紹了maxlength屬性在textarea里奇怪的表現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • 使用腳本控制網(wǎng)頁Table的顯示隱藏(全代碼)_AX

    使用腳本控制網(wǎng)頁Table的顯示隱藏(全代碼)_AX

    使用腳本控制網(wǎng)頁Table的顯示隱藏(全代碼)_AX...
    2006-12-12
  • 一篇文章詳解JS的四種異步解決方案

    一篇文章詳解JS的四種異步解決方案

    異步在JS中是常用的,下面這篇文章主要給大家介紹了關(guān)于JS四種異步解決方案的相關(guān)資料,文中通過代碼介紹的非常詳細,對大家學習或者使用js具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-06-06
  • 前端本地文件獲取excel表格內(nèi)容并渲染在頁面的方法

    前端本地文件獲取excel表格內(nèi)容并渲染在頁面的方法

    這篇文章主要介紹了前端本地文件獲取excel表格內(nèi)容并渲染在頁面的方法,主要利用SheetJS插件用于處理Excel文件,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • 如何將一維度數(shù)組轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu)

    如何將一維度數(shù)組轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu)

    在開發(fā)過程中,可能會遇到需要將一維數(shù)組轉(zhuǎn)換為多維數(shù)組的情況,以滿足特定數(shù)據(jù)結(jié)構(gòu)的需求,文章介紹了如何將后端返回的一維列表數(shù)據(jù)通過編程方法轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu),以適應特定的UI展示需求,通過循環(huán)遍歷和數(shù)據(jù)重組的方式,可以有效地實現(xiàn)數(shù)組結(jié)構(gòu)的轉(zhuǎn)換
    2024-09-09
  • 前端碎片localStorage的清除方法

    前端碎片localStorage的清除方法

    這篇文章主要介紹了前端localStorage清除方法的相關(guān)資料,localStorage是前端存儲數(shù)據(jù)的工具,數(shù)據(jù)不會因為頁面刷新而消失,但測試后需要清除數(shù)據(jù),清除localStorage的方法包括手動清除、編程方式清除、使用瀏覽器提供的清除功能和使用第三方庫,需要的朋友可以參考下
    2024-11-11

最新評論

万山特区| 星座| 庆元县| 临夏县| 盘锦市| 蕉岭县| 安化县| 丹江口市| 临湘市| 治县。| 鄂托克旗| 岐山县| 旌德县| 出国| 黔江区| 乌拉特前旗| 赫章县| 宣威市| 棋牌| 开封市| 樟树市| 赣榆县| 澜沧| 千阳县| 高碑店市| 谷城县| 井陉县| 乌拉特后旗| 化德县| 西畴县| 彰化县| 清流县| 新郑市| 古浪县| 铜梁县| 岑溪市| 白城市| 光山县| 伊通| 大庆市| 繁昌县|