javascript
java和Js中的类型转换_JavaScript 类型转换
原標(biāo)題:JavaScript 類型轉(zhuǎn)換
Number() 轉(zhuǎn)換為數(shù)字, String() 轉(zhuǎn)換為字符串, Boolean() 轉(zhuǎn)化為布爾值。
Java 數(shù)據(jù)類型
在 Java 中有 5 種不同的數(shù)據(jù)類型:
string
number
boolean
object
function
3 種對象類型:
Object
Date
Array
2 個(gè)不包含任何值的數(shù)據(jù)類型:
null
undefinedtypeof 操作符
你可以使用 typeof操作符來查看 Java 變量的數(shù)據(jù)類型。
實(shí)例
typeof"John"// 返回 stringtypeof3.14// 返回 numbertypeofNaN // 返回 numbertypeoffalse// 返回 booleantypeof[1,2,3,4] // 返回 objecttypeof{name:'John', age:34} // 返回 objecttypeofnewDate() // 返回 objecttypeoffunction() {} // 返回 functiontypeofmyCar // 返回 undefined (如果 myCar 沒有聲明)typeofnull// 返回 object
請注意:
NaN 的數(shù)據(jù)類型是 number
數(shù)組(Array)的數(shù)據(jù)類型是 object
日期(Date)的數(shù)據(jù)類型為 object
null 的數(shù)據(jù)類型是 object
未定義變量的數(shù)據(jù)類型為 undefined
如果對象是 Java Array 或 Java Date ,我們就無法通過 typeof來判斷他們的類型,因?yàn)槎际?返回 Object。
constructor 屬性
constructor屬性返回所有 Java 變量的構(gòu)造函數(shù)。
實(shí)例
"John".constructor // 返回函數(shù) String() { [native code] }(3.14).constructor // 返回函數(shù) Number() { [native code] }false.constructor // 返回函數(shù) Boolean() { [native code] }[1,2,3,4].constructor // 返回函數(shù) Array() { [native code] }{name:'John', age:34}.constructor // 返回函數(shù) Object() { [native code] }newDate().constructor // 返回函數(shù) Date() { [native code] }function() {}.constructor // 返回函數(shù) Function(){ [native code] }
你可以使用 constructor 屬性來查看是對象是否為數(shù)組 (包含字符串 "Array"):
實(shí)例
functionisArray(myArray) {
returnmyArray.constructor.toString().indexOf("Array") > -1;
}
你可以使用 constructor 屬性來查看是對象是否為日期 (包含字符串 "Date"):
實(shí)例
functionisDate(myDate) {
returnmyDate.constructor.toString().indexOf("Date") > -1;
}
Java 類型轉(zhuǎn)換
Java 變量可以轉(zhuǎn)換為新變量或其他數(shù)據(jù)類型:
通過使用 Java 函數(shù)
通過 Java 自身自動(dòng)轉(zhuǎn)換將數(shù)字轉(zhuǎn)換為字符串
全局方法 String()可以將數(shù)字轉(zhuǎn)換為字符串。
該方法可用于任何類型的數(shù)字,字母,變量,表達(dá)式:
實(shí)例
String(x) // 將變量 x 轉(zhuǎn)換為字符串并返回String(123) // 將數(shù)字 123 轉(zhuǎn)換為字符串并返回String(100+ 23) // 將數(shù)字表達(dá)式轉(zhuǎn)換為字符串并返回
Number 方法 toString()也是有同樣的效果。
實(shí)例
x.toString()
(123).toString()
(100+ 23).toString()
在 章節(jié)中,你可以找到更多數(shù)字轉(zhuǎn)換為字符串的方法:
方法
描述
toExponential()
把對象的值轉(zhuǎn)換為指數(shù)計(jì)數(shù)法。
toFixed()
把數(shù)字轉(zhuǎn)換為字符串,結(jié)果的小數(shù)點(diǎn)后有指定位數(shù)的數(shù)字。
toPrecision()
把數(shù)字格式化為指定的長度。將布爾值轉(zhuǎn)換為字符串
全局方法 String()可以將布爾值轉(zhuǎn)換為字符串。
String(false) // 返回 "false"String(true) // 返回 "true"
Boolean 方法 toString()也有相同的效果。
false.toString() // 返回 "false"true.toString() // 返回 "true"
將日期轉(zhuǎn)換為字符串
全局方法 String()可以將日期轉(zhuǎn)換為字符串。
String(Date()) // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Date 方法 toString()也有相同的效果。
實(shí)例
Date().toString() // 返回 Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
在 章節(jié)中,你可以查看更多關(guān)于日期轉(zhuǎn)換為字符串的函數(shù):
方法
描述
getDate()
從 Date 對象返回一個(gè)月中的某一天 (1 ~ 31)。
getDay()
從 Date 對象返回一周中的某一天 (0 ~ 6)。
getFullYear()
從 Date 對象以四位數(shù)字返回年份。
getHours()
返回 Date 對象的小時(shí) (0 ~ 23)。
getMilliseconds()
返回 Date 對象的毫秒(0 ~ 999)。
getMinutes()
返回 Date 對象的分鐘 (0 ~ 59)。
getMonth()
從 Date 對象返回月份 (0 ~ 11)。
getSeconds()
返回 Date 對象的秒數(shù) (0 ~ 59)。
getTime()
返回 1970 年 1 月 1 日至今的毫秒數(shù)。將字符串轉(zhuǎn)換為數(shù)字
全局方法 Number()可以將字符串轉(zhuǎn)換為數(shù)字。
字符串包含數(shù)字(如 "3.14") 轉(zhuǎn)換為數(shù)字 (如 3.14).
空字符串轉(zhuǎn)換為 0。
其他的字符串會(huì)轉(zhuǎn)換為 NaN (不是個(gè)數(shù)字)。
Number("3.14") // 返回 3.14Number(" ") // 返回 0Number("") // 返回 0Number("99 88") // 返回 NaN
在 章節(jié)中,你可以查看到更多關(guān)于字符串轉(zhuǎn)為數(shù)字的方法:
方法
描述
parseFloat()
解析一個(gè)字符串,并返回一個(gè)浮點(diǎn)數(shù)。
parseInt()
解析一個(gè)字符串,并返回一個(gè)整數(shù)。一元運(yùn)算符 +
Operator +可用于將變量轉(zhuǎn)換為數(shù)字:
實(shí)例
vary = "5"; // y 是一個(gè)字符串varx = + y; // x 是一個(gè)數(shù)字
如果變量不能轉(zhuǎn)換,它仍然會(huì)是一個(gè)數(shù)字,但值為 NaN (不是一個(gè)數(shù)字):
實(shí)例
vary = "John"; // y 是一個(gè)字符串varx = + y; // x 是一個(gè)數(shù)字 (NaN)
將布爾值轉(zhuǎn)換為數(shù)字
全局方法 Number()可將布爾值轉(zhuǎn)換為數(shù)字。
Number(false) // 返回 0Number(true) // 返回 1
將日期轉(zhuǎn)換為數(shù)字
全局方法 Number()可將日期轉(zhuǎn)換為數(shù)字。
d = newDate();
Number(d) // 返回 1404568027739
日期方法 getTime()也有相同的效果。
d = newDate();
d.getTime() // 返回 1404568027739
自動(dòng)轉(zhuǎn)換類型
當(dāng) Java 嘗試操作一個(gè) "錯(cuò)誤" 的數(shù)據(jù)類型時(shí),會(huì)自動(dòng)轉(zhuǎn)換為 "正確" 的數(shù)據(jù)類型。
以下輸出結(jié)果不是你所期望的:
5+ null// 返回 5 null 轉(zhuǎn)換為 0"5"+ null// 返回"5null" null 轉(zhuǎn)換為 "null""5"+ 1// 返回 "51" 1 轉(zhuǎn)換為 "1""5"- 1// 返回 4 "5" 轉(zhuǎn)換為 5
自動(dòng)轉(zhuǎn)換為字符串
當(dāng)你嘗試輸出一個(gè)對象或一個(gè)變量時(shí) Java 會(huì)自動(dòng)調(diào)用變量的 toString() 方法:
document.getElementById("demo").innerHTML = myVar;
// if myVar = {name:"Fjohn"} // toString 轉(zhuǎn)換為 "[object Object]"// if myVar = [1,2,3,4] // toString 轉(zhuǎn)換為 "1,2,3,4"// if myVar = new Date() // toString 轉(zhuǎn)換為 "Fri Jul 18 2014 09:08:55 GMT+0200"
數(shù)字和布爾值也經(jīng)常相互轉(zhuǎn)換:
// if myVar = 123 // toString 轉(zhuǎn)換為 "123"// if myVar = true // toString 轉(zhuǎn)換為 "true"// if myVar = false // toString 轉(zhuǎn)換為 "false"
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!返回搜狐,查看更多
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的java和Js中的类型转换_JavaScript 类型转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: shell中冒号 : 用途说明
- 下一篇: java 读取sql xml文件是否存在