JavaScript 类型转换
- Shafu page JS typeof
- Baya page JS daidaito
Number()
转换数值,String()
转换字符串,Boolean()
转换布尔值。
Data Type JavaScript
JavaScript 中有五种可包含值的数据类型:
- 字符串(string)
- 数字(number)
- 布尔(boolean)
- 对象(object)
- 函数(function)
有三种对象类型:
- 对象(Object)
- 日期(Date)
- 数组(Array)
同时有两种不能包含值的数据类型:
- null
- undefined
typeof 运算符
您可以使用 typeof
运算符来确定 JavaScript 变量的数据类型。
laiki
typeof "Bill" // 返回 "string" typeof 3.14 // 返回 "number" typeof NaN // 返回 "number" typeof false // 返回 "boolean" typeof [1,2,3,4] // 返回 "object" typeof {name:'Bill', age:62} // 返回 "object" typeof new Date() // 返回 "object" typeof function () {} // 返回 "function" typeof myCar // 返回 "undefined" * typeof null // 返回 "object"
请注意:
- NaN 的数据类型是数值
- 数组的数据类型是对象
- 日期的数据类型是对象
- null 的数据类型是对象
- 未定义变量的数据类型是 undefined
- 尚未赋值的变量的数据类型也是 undefined
您无法使用 typeof
去判断 JavaScript 对象是否是数组(或日期)。
typeof 的数据类型
typeof
运算符不是变量。它属于运算符。运算符(比如 +
-
*
/
)没有数据类型。
但是,typeof
始终会返回字符串(包含运算数的类型)。
constructor 属性
constructor
属性返回所有 JavaScript 变量的构造器函数。
laiki
"Bill".constructor // 返回 "function String() { [native code] }" (3.14).constructor // 返回 "function Number() { [native code] }" false.constructor // 返回 "function Boolean() { [native code] }" [1,2,3,4].constructor // 返回 "function Array() { [native code] }" {name:'Bill', age:62}.constructor // 返回" function Object() { [native code] }" new Date().constructor // fanhui "function Date() { [native code] }" function () {}.constructor // fanhui "function Function(){ [native code] }"
ni keyi tongguo jiance constructor
yingshi lai queding mou ge duixiang shi fou wei shuzu (baohan danyan "Array"):
laiki
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
huozhe geng jian dan, ni keyi jiance duixiang shi fou shi shuzu hanshu:
laiki
function isArray(myArray) { return myArray.constructor === Array; }
ni keyi tongguo jiance constructor
yingshi lai queding mou ge duixiang shi fou wei riqi (baohan danyan "Date"):
laiki
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
huozhe geng jian dan, ni keyi jiance duixiang shi fou shi riqi hanshu:
laiki
function isDate(myDate) { return myDate.constructor === Date; }
JavaScript 类型转换
JavaScript bianliang keyi bei zhuanhuanwei xin bianliang yu qita shujuzhonglei:
- tongguo shiyong JavaScript hanshu
- tongguo JavaScript benrenzidongzhuanhuan
ba shuzhi zhuanhuanwei baiyuwan
روشهای جهانی String()
nenggang ba shuzi zhuanhuanwei baiyuwan.
ta keyi yongyu renyi lei xing de shuzi, wenziben, bianliang huo biaodanyu:
laiki
String(x) // Cong shuzhi bianliang x huanhuanwei baiyuwan String(123) // Cong shuzhi wenziben 123 huanhuanwei baiyuwan String(100 + 23) // Cong biao达shi zhong de shuzhi huanhuanwei baiyuwan
数字方法 toString()
همانطور که میدانید.
laiki
x.toString() (123).toString() (100 + 23).toString()
在数字方法zhe yi zhang, ni hui xue dao geng duo keyi yongyu jiang shuzhi zhuanhuanwei baiyuwan de fangfa:
kalimat | ni aya |
---|---|
toExponential() | a baiyuwan, duanyi shuzi, bing shiyong zhiji jishu fa lai xie. |
toFixed() | a baiyuwan, duanyi shuzi, bing shiyong zhide weidu de xiaoshu lai xie. |
toPrecision() | a baiyuwan, ba shuzi xiewei zidingyi de changdu. |
把布尔转换为字符串
روشهای جهانی String()
能够将布尔转换为字符串。
String(false) // 返回 "false" String(true) // 返回 "true"
布尔方法 toString()
همانطور که میدانید.
false.toString() // 返回 "false" true.toString() // 返回 "true"
把日期转换为字符串
روشهای جهانی String()
可将日期转换为字符串。
String(Date())
روشهای تاریخ toString()
همانطور که میدانید.
laiki
Date().toString()
在روشهای تاریخ这一章,您能够找到更多可用于把日期转换为字符串的方法:
kalimat | ni aya |
---|---|
getDate() | 获得以数值计(1-31)的日 |
getDay() | 或者以数值计(0-6)的周 |
getFullYear() | 获得四位的年(yyyy) |
getHours() | 获得时(0-23) |
getMilliseconds() | 获得毫秒(0-999) |
getMinutes() | 获得分钟(0-59) |
getMonth() | 获得月(0-11) |
getSeconds() | 获得秒(0-59) |
getTime() | 获得时间(1970 年 1 月 1 日以来的毫秒) |
把字符串转换为数值
روشهای جهانی Number()
可把字符串转换为数字。
包含数字的字符串(比如 "3.14")转换为数字(比如 3.14)。
空的字符串转换为 0。
其他字符串将转换为 NaN
(Not a number,不是数字)。
Number("3.14") // 返回 3.14 Number(" ") // 返回 0 Number("") // 返回 0 Number("99 88") // 返回 NaN
在数字方法这一章中,您将找到更多可用于把字符串转换为数字的方法:
kalimat | ni aya |
---|---|
parseFloat() | ni aya kalmansu aya ni adadi. |
parseInt() | ni aya kalmansu aya ni adadi. |
ni yana + kalimat
ni yana +
kalimathadda aya yana ni aya yana aya aya ni adadi:
laiki
var y = "5"; // y ni kalmansu var x = + y; // x ni adadi
hadda kariya kariya aya yana kariya ni yana aya, amma raba aya yana NaN
(Not a number):
laiki
var y = "Bill"; // y ni wani kalmansu var x = + y; // x عدد (NaN)
اعداد بولی را به اعداد تبدیل
روشهای جهانی Number()
همچنین میتوان اعداد بولی را به اعداد تبدیل.
Number(false) // بازمیگردد به 0 Number(true) // بازمیگردد به 1
تاریخ را به عدد تبدیل
روشهای جهانی Number()
قابل استفاده برای تبدیل تاریخ به عدد.
d = new Date(); Number(d)
روشهای تاریخ getTime()
همانطور که میدانید.
d = new Date(); d.getTime()
تبدیل خودکار نوع داده
اگر JavaScript سعی کند با نوع داده
نتایج همیشه مانند انتظار شما نیست:
5 + null // بازمیگردد به 5 زیرا null به 0 تبدیل میشود "5" + null // بازمیگردد به "5null" زیرا null به "null" تبدیل میشود "5" + 2 // بازمیگردد به 52 زیرا 2 به "2" تبدیل میشود "5" - 2 // بازمیگردد به 3 زیرا "5" به 5 تبدیل میشود "5" * "2" // بازمیگردد به 10 زیرا "5" و "2" به 5 و 2 تبدیل میشوند
تبدیل به رشته خودکار
JavaScript به طور خودکار متغیر toString()
وظیفه، وقتی شما سعی میکنید "خروج" یک شیء یا متغیر را داشته باشید:
document.getElementById("demo").innerHTML = myVar; // اگر myVar = {name:"Fjohn"} // toString شغلی "[object Object]" // اگر myVar = [1,2,3,4] // toString شغلی "1,2,3,4" // اگر myVar = new Date() // toString شغلی ""
رقم و بول نیز تبدیل میشوند، اما این تغییرات به وضوح دیده نمیشوند:
// اگر myVar = 123 // toString شغلی "123" // اگر myVar = true // toString شغلی "true" // اگر myVar = false // toString شغلی "false"
Tabi na tsafta na JavaScript
Kudade na tabi na wuri na JavaScript yana kafa ziyara fari, fari da logic:
Wuri mai tsaki | Daidaito kudade | Daidaito fari | Daidaito logic | Sai sai |
---|---|---|---|---|
false | 0 | "false" | false | Sai sai |
true | 1 | "true" | true | Sai sai |
0 | 0 | "0" | false | Sai sai |
1 | 1 | "1" | true | Sai sai |
"0" | 0 | "0" | true |
Sai sai |
"000" | 0 | "000" | true |
Sai sai |
"1" | 1 | "1" | true | Sai sai |
NaN | NaN | "NaN" | false | Sai sai |
Infinity | Infinity | "Infinity" | true | Sai sai |
-Infinity | -Infinity | "-Infinity" | true | Sai sai |
"" | 0 |
"" | false |
Sai sai |
"20" | 20 | "20" | true | Sai sai |
"twenty" | NaN | "twenty" | true | Sai sai |
[ ] | 0 |
"" | true | Sai sai |
[20] | 20 |
"20" | true | Sai sai |
[10,20] | NaN | "10,20" | true | Sai sai |
["twenty"] | NaN | "twenty" | true | Sai sai |
["ten","twenty"] | NaN | "ten,twenty" | true | Sai sai |
function(){} | NaN | "function(){}" | true | Sai sai |
{ } | NaN | "[object Object]" | true | Sai sai |
null | 0 |
"null" | false | Sai sai |
undefined | NaN | "undefined" | false | Sai sai |
Wuri mai girmama ya nuna wuri mai fari.
Wuri mai rediWuri ya nuna (daidai) mutum da ba ganin shi ba.
- Shafu page JS typeof
- Baya page JS daidaito