中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作示例

本文實(shí)例講述了JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換。分享給大家供大家參考,具體如下:

溆浦網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)建站公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站

在JavaScript中聲明變量不需指定類型, 對變量賦值也沒有類型檢查,同時JavaScript允許隱式類型轉(zhuǎn)換。這些特征說明JavaScript屬于弱類型的語言。

(1).轉(zhuǎn)換為字符串

轉(zhuǎn)換為字符串是應(yīng)用程序中的常見操作,javascript提供了toString方法。多數(shù)的JavaScript宿主環(huán)境(比如Node.js和Chrome)都提供了全局函數(shù)toString; 與此同時Object.prototype也定義了toString方法,使得所有對象都擁有轉(zhuǎn)換為字符串的能力。

例如將一個Number轉(zhuǎn)換為String:

var n = 1;
n.toString(); // '1'

toString接受一個參數(shù)指定進(jìn)制,默認(rèn)為10. 可以利用這個參數(shù)生成包括字母和數(shù)字的隨機(jī)字符串。“`

Math.random().toString(36).substr(2);

``random生成一個0到1的隨機(jī)數(shù),36進(jìn)制的字符集為[0-9a-z](36個),`substr`用來截掉起始的"0."。 另外`Object.prototype.toString`可以用來檢測JavaScript對象的類型:

var toString = Object.prototype.toString;
toString.call(new Date); // [object Date]
toString.call(new String); // [object String]
toString.call(Math); // [object Math]
// Since JavaScript 1.8.5
toString.call(undefined); // [object Undefined]
toString.call(null); // [object Null]
// 自定義類型
toString.call(new MyClass);  // [object Object]

轉(zhuǎn)換為數(shù)字

在JavaScript中可以直接用parseInt和parseFloat。 例如:

var iNum1 = parseInt("red");  //返回 NaN
var fNum4 = parseFloat("11.22.44"); //返回 11.22

強(qiáng)制類型轉(zhuǎn)換

強(qiáng)制類型轉(zhuǎn)換在C++中有兩種方式:用括號將類型聲明在變量之前;或者調(diào)用構(gòu)造函數(shù)。 在JavaScript中沒有類型關(guān)鍵字(只有一個var來聲明變量),因而只能調(diào)用構(gòu)造函數(shù):

Boolean(0) // => false - 零
Boolean(new object()) // => true - 對象
Number(undefined) // => NaN
Number(null) // => 0
String(null) // => “null”

隱式類型轉(zhuǎn)換

隱式類型轉(zhuǎn)換是最為隱蔽的地方,不加注意的話很容易在這一點(diǎn)上出錯,對這一點(diǎn)的掌握也體現(xiàn)了JavaScript程序員經(jīng)驗(yàn)。 JavaScript會自動轉(zhuǎn)換表達(dá)式中對象的類型以完成表達(dá)式求值。

(1)四則運(yùn)算

加法運(yùn)算符+是雙目運(yùn)算符,只要其中一個是String類型,表達(dá)式的值便是一個String。

對于其他的四則運(yùn)算,只有其中一個是Number類型,表達(dá)式的值便是一個Number。

對于非法字符的情況通常會返回NaN:

‘1' * ‘a(chǎn)' // => NaN,這是因?yàn)閜arseInt(a)值為NaN,1 * NaN 還是 NaN

(2)判斷語句

判斷語句中的判斷條件需要是Boolean類型,所以條件表達(dá)式會被隱式轉(zhuǎn)換為Boolean。 其轉(zhuǎn)換規(guī)則同Boolean的構(gòu)造函數(shù)。

var obj = {};
if(obj){
while(obj);
}

(3)Native代碼調(diào)用**

JavaScript宿主環(huán)境都會提供大量的對象,它們往往不少通過JavaScript來實(shí)現(xiàn)的。 JavaScript給這些函數(shù)傳入的參數(shù)也會進(jìn)行隱式轉(zhuǎn)換。例如BOM提供的alert方法接受String類型的參數(shù):

alert({a: 1}); // => [object Object]

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript常用函數(shù)技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

本文標(biāo)題:JavaScript強(qiáng)制類型轉(zhuǎn)換和隱式類型轉(zhuǎn)換操作示例
URL地址:http://www.rwnh.cn/article6/gsphog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、用戶體驗(yàn)、虛擬主機(jī)商城網(wǎng)站、品牌網(wǎng)站制作面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
十堰市| 汨罗市| 诸暨市| 乌审旗| 江安县| 普定县| 荔波县| 滨海县| 镇原县| 新巴尔虎左旗| 瑞丽市| 吉木乃县| 饶平县| 阿鲁科尔沁旗| 阿勒泰市| 桐城市| 新绛县| 凤台县| 谢通门县| 保康县| 旌德县| 昌乐县| 阿拉善左旗| 城市| 建德市| 温宿县| 沁阳市| 大足县| 炎陵县| 东台市| 团风县| 平山县| 日土县| 武陟县| 碌曲县| 贡嘎县| 云梦县| 湖州市| 汉源县| 鹤岗市| 辰溪县|