使弱類型的語言JavaScript變強(qiáng)勢
弱類型的Javascript不會按照程序員的愿望從實(shí)際的變量類型到所需要的數(shù)據(jù)類型轉(zhuǎn)換,例如一個(gè)非常常見的錯誤,在瀏覽器腳本中,從表單控件中獲取用戶將要輸入的一個(gè)數(shù)值類型的變量與另一個(gè)數(shù)值變量的和.因?yàn)樽兞款愋驮诒韱慰丶惺亲址愋?計(jì)時(shí)字符串序列包含一個(gè)數(shù)字)這種嘗試將會添加那個(gè)字符串到變量,即使這些值碰巧是一些數(shù)字,結(jié)果在第二個(gè)變量將會被轉(zhuǎn)換為字符串類型,在最后只會把從表單控件中得到的變量添加到第一個(gè)字符串末尾。
所以強(qiáng)制類型轉(zhuǎn)換還是比較重要的,下面看一下它的幾個(gè)強(qiáng)制轉(zhuǎn)換的函數(shù):
1. Boolean(value):把值轉(zhuǎn)換成Boolean類型;
2. Nnumber(value):把值轉(zhuǎn)換成數(shù)字(整型或浮點(diǎn)數(shù));
3. String(value):把值轉(zhuǎn)換成字符串。
我們先來看Boolean():在要轉(zhuǎn)換的值為“至少有一字符的字符串”、“非0的數(shù)字”或“對象”,那么Boolean()將返回true,如果要轉(zhuǎn)換的值為“空字符串”、“數(shù)字0”、“undefined”,“null”這些話,那么Boolean()會返回false。你可以用以下代碼來測試
以下為引用的內(nèi)容: var t1 = Boolean("");//返回false,空字符串 |
再來看看Number():Number()與parseInt()和parseFloat()類似,它們區(qū)別在于Number()轉(zhuǎn)換是整個(gè)值,而parseInt()和parseFloat()則可以只轉(zhuǎn)換開頭的數(shù)字部分,例如:Number("1.2.3"),Number("123abc")會返回NaN,而parseInt("1.2.3")返回1、parseInt("123abc")返回123、parseFloat("1.2.3")返回1.2、parseFloat("123abc")返回123。Number()會先判斷要轉(zhuǎn)換的值能否被完整的轉(zhuǎn)換,然后再判斷是調(diào)用parseInt()或parseFloat()。下面列了一些值調(diào)用Number()之后的結(jié)果:
以下為引用的內(nèi)容: Number(false) 0 Number("12") 12 |
最后是String():這個(gè)以比較簡單了,它可以把所有類型的數(shù)據(jù)轉(zhuǎn)換成字符串,如:String(false)---"false"、String(1)---"1"。它和toString()方法有些不同,區(qū)別在于:
以下為引用的內(nèi)容: var t1 = null; |
- 動態(tài)語言、動態(tài)類型語言、靜態(tài)類型語言、強(qiáng)類型語言、弱類型語言介紹
- 編程語言里的靜態(tài)、動態(tài)、強(qiáng)類型、弱類型等概念介紹
- php判斷變量類型常用方法
- PHP 變量類型的強(qiáng)制轉(zhuǎn)換
- php 文件上傳后綴名與文件類型對照表(幾乎涵蓋所有文件)
- php 網(wǎng)頁播放器用來播放在線視頻的代碼(自動判斷并選擇視頻文件類型)
- 淺析php數(shù)據(jù)類型轉(zhuǎn)換
- 使用php判斷瀏覽器的類型和語言的函數(shù)代碼
- PHP 八種基本的數(shù)據(jù)類型小結(jié)
- PHP弱類型的安全問題詳細(xì)總結(jié)
相關(guān)文章
使用JavaScript實(shí)現(xiàn)實(shí)時(shí)搜索建議功能
在我們的技術(shù)旅程中,JavaScript 無疑是一個(gè)不可或缺的伙伴,這篇文章主要為大家詳細(xì)介紹了如何使用 JavaScript 來實(shí)現(xiàn)一個(gè)復(fù)雜功能,即實(shí)時(shí)搜索建議,感興趣的可以了解下2024-02-02跟我學(xué)習(xí)javascript創(chuàng)建對象(類)的8種方法
跟我學(xué)習(xí)javascript創(chuàng)建對象(類)的8種方法,每一種方法都有詳細(xì)的介紹,不知道javascript如何創(chuàng)建對象的朋友,不要錯過這篇文章。2015-11-11contenteditable可編輯區(qū)域設(shè)置換行實(shí)現(xiàn)技巧實(shí)例
這篇文章主要為大家介紹了contenteditable可編輯區(qū)域設(shè)置換行實(shí)現(xiàn)技巧實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01javascript獲取指定區(qū)間范圍隨機(jī)數(shù)的方法
下面小編就為大家?guī)硪黄猨avascript獲取指定區(qū)間范圍隨機(jī)數(shù)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09uniapp實(shí)現(xiàn)全局變量的幾種方式總結(jié)
這里說全局變量,著重指的是能夠全局動態(tài)響應(yīng)的情況,下面這篇文章主要給大家介紹了關(guān)于uniapp實(shí)現(xiàn)全局變量的幾種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10使用TypeScript實(shí)現(xiàn)一個(gè)類型安全的EventBus示例詳解
EventBus是工作中常用的工具,本文用Typescript實(shí)現(xiàn)一個(gè)具備基礎(chǔ)功能且類型安全的EventBus,是我近期學(xué)習(xí)Typescript的知識總結(jié),對TypeScript實(shí)現(xiàn)EventBus相關(guān)知識感興趣的朋友一起看看吧2022-06-06javascript中mouseover、mouseout使用詳解
這篇文章主要介紹了javascript中mouseover、mouseout使用詳解的相關(guān)資料,需要的朋友可以參考下2015-07-07