JavaScript 的数据类型分为下面两种:
1.基本数据类型(原始值)
-
字符串 String
字符串可以用单引号 ' ' 或者双引号 " " 声明的。由于JavaScript 没有字符类型,所以下列两行代码均正确。
(注意:Java中单引号表示字符,双引号表示字符串)
var str1 = 'apple' //单引号
var str2 = "apple" //双引号
-
数字 Number
① 整数
也可以写成进制的形式,八进制,十进制,十六进制,计算的时候最终的返回值是十进制的结果。
② 浮点数
可以简单的理解为数学中的小数,例如: 3.0 ,注意此时小数部分不能省略哦~
③ 科学计数法
类似于特别大或者特别小的数字,需要用到科学计数法,JavaScript 默认将 6 个或者 6个以上前导 的 0 浮点数转换为科学计 数法。52,000,000,000 可以写成5.2e9
④ 特殊的数
NaN 表示不是数字(Not a Number)
alert(isNaN("apple")); //结果为 true
alert(isNaN("123")); //结果为 false
-
布尔 Boolean
只有 true 和 false 两个值。
-
对空 Null
只有一个值 null , 表示尚未存在的对象,其实就是空!
-
未定义 Undefined
只有一个值 undefined ,当声明的对象没有初始化时,改变量的的默认值就是 undefined 。
-
独一无二的值 Symbol (ES6 新增)
不怎么常用,大家可以自己百度了解一下。
2.引用数据类型(引用值)
-
对象 Object
-
数组 Array
-
函数 Function
<这里就不详细写了,后面会单独更新的哦~>
类型的判断
-
typeof
注意: null 的类型判断返回 Object ,这是JavaScript 最初的一个错误,但是后期一直被沿用,将错就错了呗。
-
instanceof
只能对引用类型才能有效 !!!instanceof 对基本类型的判断是不支持的。
下图是演示的代码:
<script type="text/javascript">
var a = 10;
var b = 'beautiful';
var c = null;
var d = new Array();
document.write(typeof(a)); // number
document.write('<br/>');
document.write(typeof(b)); // string
document.write('<br/>');
document.write(typeof(c)); // Object
document.write('<hr/>');
if (d instanceof Array){ //判断 左边的 d 是否是右边的数组
document.write("d 是一个数组");
}else{
document.write("d 不是一个数组");
}
</script>
下图是演示的效果:
类型的转换
-
Number(变量) :将变量转化为数字类型
-
parseInt(变量) :将变量转化为字符类型
-
parseFloat(变量) :将变量转化为浮点类型
-
Blooean(变量) :将变量转化为布尔值类型
-
String(变量) : 将变量转化为字符串类型
下面是演示代码:
<script type="text/javascript">
var a = '52';
var b = a+1;
var c = Number(a)+1 ;
document.write("没有用 Number 转换前:"+b);
document.write('<br/>');
document.write("用 Number 转换后:"+c);
document.write('<hr/>');
var num1 = 13;
var num2 = num1+14;
var num3 = String(num1)+14; // 方法一
var num4 = num1.toString()+14 // 方法二
document.write("没有用 String 转换前:"+num2);
document.write('<br/>');
document.write("(方法一)用 String 转换后:"+num3);
document.write('<br/>');
document.write("(方法二)用 String 转换后:"+num4);
var x = 10;
var y = 0;
var x1 = Boolean(x);
var y1 = Boolean(y);
document.write('<br/>');
document.write('<hr/>');
document.write("没有用 Boolean 转换前:x="+x+"    y="+y);
document.write('<br/>');
document.write("用 Boolean 转换后:x="+x1+"    y="+y1);
</script>
下图是演示的效果:
未经允许,禁止转载!如果有错误,评论区见哦~萌新在这里先感谢大家(*≧︶≦))( ̄▽ ̄* )ゞ