国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JavaScript強制類型轉換和隱式類型轉換操作示例

2024-05-06 16:50:29
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript強制類型轉換和隱式類型轉換。分享給大家供大家參考,具體如下:

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

(1).轉換為字符串

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

例如將一個Number轉換為String:

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

toString接受一個參數指定進制,默認為10. 可以利用這個參數生成包括字母和數字的隨機字符串。“`

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

``random生成一個0到1的隨機數,36進制的字符集為[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.5toString.call(undefined); // [object Undefined]toString.call(null); // [object Null]// 自定義類型toString.call(new MyClass);  // [object Object]

轉換為數字

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

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

強制類型轉換

強制類型轉換在C++中有兩種方式:用括號將類型聲明在變量之前;或者調用構造函數。 在JavaScript中沒有類型關鍵字(只有一個var來聲明變量),因而只能調用構造函數:

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

隱式類型轉換

隱式類型轉換是最為隱蔽的地方,不加注意的話很容易在這一點上出錯,對這一點的掌握也體現了JavaScript程序員經驗。 JavaScript會自動轉換表達式中對象的類型以完成表達式求值。

(1)四則運算

加法運算符+是雙目運算符,只要其中一個是String類型,表達式的值便是一個String。

對于其他的四則運算,只有其中一個是Number類型,表達式的值便是一個Number。

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

‘1' * ‘a' // => NaN,這是因為parseInt(a)值為NaN,1 * NaN 還是 NaN

(2)判斷語句

判斷語句中的判斷條件需要是Boolean類型,所以條件表達式會被隱式轉換為Boolean。 其轉換規則同Boolean的構造函數。

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

(3)Native代碼調用**

JavaScript宿主環境都會提供大量的對象,它們往往不少通過JavaScript來實現的。 JavaScript給這些函數傳入的參數也會進行隱式轉換。例如BOM提供的alert方法接受String類型的參數:

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

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


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新乡市| 汤阴县| 蒲城县| 汉沽区| 阿勒泰市| 旬邑县| 临清市| 象州县| 开平市| 永胜县| 新巴尔虎左旗| 美姑县| 渭南市| 太和县| 新绛县| 特克斯县| 龙胜| 武冈市| 兴化市| 庆城县| 罗源县| 新安县| 玛曲县| 深泽县| 闽侯县| 榆树市| 桐庐县| 化州市| 惠水县| 咸丰县| 葫芦岛市| 台中市| 东方市| 彰化县| 光泽县| 腾冲县| 防城港市| 界首市| 探索| 麻阳| 宁阳县|