1,JS中的有5中简单数据类型和一种复杂数据类型。5种简单数据类型:Null,Number,String,Boolean,Undefined。一种复杂的数据类型:Object。
2,使用typeof操作符(对,是操作符,不是函数)来判断数据类型。
var a=12;
alert(typeof (a));
typeof操作符可能返回的结果(字符串):number,string,undefined,object,function,boolean(注意,这里面不包含“null")。
3,Undefined类型 使用var对某一变了进行声明时没有对其初始化,则改变量类型为:undefined。
var b;
alert(typeof (b));
4,Null类型 null表示一个空指针对象。
var c=null;
alert(typeof (c));
alert(c);
5,Boolean类型 两个字面值(注意这个词:字面值):true,false。
var True=true;
var False=false;
alert(True);
alert(typeof (True))
如果要将其他类型的数据转换成boolean类型,遵循以下规则:
TYPE TRUE FALSE
Boolean true false
String 非空字符串 字符串
Number 非零数值 0和NaN
Object 任何对象 null
Undefined NaN undefined
示例:
var d=1;
var e=0;
alert(Boolean(d));
alert(Boolean(e));
6,Number类型 Number类型包括整数和浮点数。
var f=55;
var f1=1.548765431654876546413456;
var g=023;
var h=0x1D;
alert(f);
alert(g);
alert("f1定义值为:1.548765431654876546413456;实际有效输出值为:"+f1)
例子中f1定义了一个浮点数,但是由于js的小数只能精确到小数点后17位,所以输出的值与原值会有差异。
g和h两个变量是八进制和十六进制的定义方法。
下面这个是个坑,会出现0.1+0.2!=0.3的情况。
var i=0.1;
var j=0.2;
if(i+j==0.3){
alert("0.1+0.2=0.3");
}else(
alert("万万没想到,0.1+0.2!=0.3")
)
由于内存的限制,js不能保存世界上所有的数值。
js保存数值的极限:Number.MAX_VALUE和Number.MIN_VALUE。
alert("最大值:"+Number.MAX_VALUE);
alert("最小值:"+Number.MIN_VALUE);
NaN是一种特殊的数值,为了防止出现数学错误而出现的。
Infinity表示无穷,下面这个例子表示1/0=正无穷。
var k=1;
var l=0;
alert((k/l));
将非数值转换成数值的三个函数:Number();parseInt();parseFloat()。
三种方法转换规则有差异,视具体应用场景分析。
7,String类型 表示由16位Unicode字符组成的字符序列。(什么叫16位Unicode字符?我也不造0.0)
在js中双引号和单引号开头的字符串是一样的。也就是说:
var m="hello";
var n='hello';
这二者是等价的。
这里说一句,其他数据类型转换成string类型是一个蛮值得深究的问题,这里先给自己挖个坑,以后找机会填上。
8,Object类型 简而言之呢,就是java中的对象。
new一个对象:
var o=new Object();
这个对象就跟java中的java.lang.Object差不多。用友内置的属性和方法。
hasOwnProperty();检查是否拥有某项属性。
isPropertyOf();检查传入的对象是否是另一个对象的原形。(原形是啥玩意?)
toString();返回对象的字符表示。
valueOf();返回对象的字符喜欢,数值或者布尔表示。
9,16位Unicode字符集
在计算机程序中或者数据文件里,文本(text)是作为数字序列存储的。
序列中的数字是具有不同大小、取值和解释的整数。
如何解释这些整数是由字符集(character set)、编码(encoding)决定的。
16位Unicode字符集是一种字符集标准。
本节源码下载地址:JavaScript学习笔记(1):数据类型.html
一个html文件,下载后直接用记事本或者浏览器打开即可。