在javascript中有五种不同的数据类型:
stringnumberbooleanobjectfunction三种对象类型:
ObjectDateArray两种不包含数据的类型:
nullundefined ——————————————————————————typeof操作符:阔以返回对应变量的类型
特殊地:
NaN的数据类型是number数组(Array)的数据类型是object日期(Date)的数据类型也是objectnull的数据类型还是object未定义变量的数据类型是undefined——————————————————————————————— constructor属性: 该属性返回所有javascript变量的构造函数:
<script type="text/javascript"> function employee(name,job,born) { this.name=name; this.job=job; this.born=born; } var bill=new employee("Bill Gates","Engineer",1985); document.write(bill.constructor); </script>运行结果:
function employee(name, job, born) {this.name = name; this.job = job; this.born = born;}利用这个属性查看对象是否为数组:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>W3Cschool教程(w3cschool.cn)</title> </head> <body> <p>判断是否为数组。</p> <p id="demo"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = isArray(fruits); function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; } </script> </body> </html>利用的原理是将构造函数转化为字符串描述并且在其中检索Array,这未必是一种好方法。 ————————————————————————————
—————————— 数字转为字符串 全局方法String(x)可以将任何类型的数字,字母,变量,表达式转换为字符串:
var x =123 x.toString() String(123) String(100+23)结果都是123 —————————— 布尔值转换为字符串 全局方法 String(false) String (true) Boolean方法。toString也有相同的效果。 ——————————— 日期转字符串 同理,String(Date()) Date.toString() —————————— 字符串转数字: 全局方法Number可以将字符串变化为数字。 字符串方法包含数字(如“3.14”)转换为数字,不包含返回 其他字符串会转换为NaN。
Number("3.14")//3.14 Number(" ")//返回0 NUmber("99 88")//返回NaN—————————————— 一元运算符+ 字符串加可以将参与加法成员变成字符串模式。 var y= 5; x=“ ”+y; 如果变量不能转换,则x为NAN(数字) ———————————————— 布尔值转数字:
Number(false) Number(true)————————————————— 日期转为数字:
d = new Date(); Number(d)d.getTime()也有同样的效果 —————————————————————————— 自动转换类型:
尝试操作一个非正确的数据类型然后完成转换 程序会根据上下文大概 判断一下操作
5+null返回5 "5"+null 返回"5null" "5"+"1"返回"51" "5"-1返回4————————————————————
这个函数会在一个对象或者变量要被输出的时候就灭了,,,