一、原始数据类型
1、数据型
JavaScript中的数值包含整数和浮点数,所有数值都以双精度浮点型来表示。
双精度浮点数可以表示-2的53次方到2的53次方的整数,也可以表示为正负1.7976的10的308次方的最大值和正负2.2250乘以10的-308次方的浮点数
数值型
十进制数
12
1.2
-23
.222e33
-1.3e3
3.E-2
12e+20
十六进制
0x0
0XABCDEF
0x1a2b3c4d
八进制数
00
0123
0241234
特殊值:
1)Infinity无穷大
1.79e309
-1.79e309
2)NaN
0/0
可以通过isNaN()检测值是否为NaN
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
//十进制
var a=12;
a=-23;
a=12.3;
a=.23e4;
a=2e3;
a=3E-2;
//十六进制
a=0xABCDEF;
a=0X0;
a=0Xfff;
//八进制
a=0123;
a=01234324;
//正无穷大Infinity
a=1.79e310;
a=-1.79e310;
//NaN:Not a Number
a=0/0;
// alert(a);
//通过isNaN()来检测是否是NaN值
// alert(isNaN(a));
//NaN不能和自身比较
// alert(NaN===NaN);
//字符串类型
var str='this is a test';
var str1="hello world";
// var str2=aaaa;
// alert(str);
// alert(str1); king's
// var username="king's";
// var username='king\'s';
// alert(username);
// var str2='a\nb\rc\td"e\\f';
// alert(str2);
//布尔类型
var married=true;
// married=TRUE;
// alert(true);
//声明变量为赋值
// var test6;
//赋值为不存在的属性值
var test7=String.NotExists;
// alert(test7);
//null值
var test8=null;
alert(test8);
alert(null===undefined);
</script>
</body>
</html>
2、字符串类型
1)定界符:
“”|’’
2)转义符:
\n->回车换行
\r->换行
\t->水平制表符
“->”
‘->’
3)布尔类型:
true|false
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
/*
if(exp){
exp为true的代码段;
}else{
exp为false的代码段;
}
*/
//其它类型转换成布尔类型假的有
var a;//undefined->false
//typeof得到变量的类型
// alert(typeof a);
a=null;//null->false
//0 0.0 NaN->false
a=0;
a=0.0;
a=0/0; //NaN
a=NaN;
// alert(a);
a='';//空字符串->false
a='0';
a=' ';
// alert(typeof a);
// if(a){
// alert('真');
// }else{
// alert('假');
// }
//其它类型转换成数值型
var b=undefined;//undefined->NaN
b=null;//null->0
b=true;//true->1
b=false;//false->0
// alert(1+b);
var c='12';//'12'->12
c='3king';//'3king'->NaN
c='true';
// alert(2*c);
c='33';
// alert(typeof c);
// c=c*1;
// alert(typeof c);
</script>
</head>
<body>
<h1>隐式转换的例子</h1>
<script type="text/javascript">
//其它类型转换成字符串型
document.write(undefined);//'undefined'
document.write('<br/>');
document.write(null);//'null'
document.write('<br/>');
document.write(NaN);//'NaN'
document.write('<br/>');
document.write(123);//'123'
document.write('<br/>');
document.write(true);//'true'
document.write('<br/>');
document.write(false);//'false'
document.write('<br/>');
alert(1+"1");//拼接字符串
alert('2'+12);//拼接字符串
</script>
</body>
</html>
二、复合数据类型
1、对象(object)
2、数组(array)
3、函数(function)
三、3.特殊数据类型
1、无定义数据类型undefined
undefined用来表示不存在的值或者尚未赋值的变量。对一个变量只声明不赋值或者赋予一个不存在的属性值,都会使这个变量的值为Undefined
2、空值null
null表示空值,表示什么都没有,相当于一个占位符。
null和undefined的区别就是undefined表示变量未被赋值,而null表示变量被赋予了一个空值。
四、变量
1、声明变量
通过var关键字声明变量
可以声明变量的同时给变量赋值
可以一次声明一个变量也可以一次声明多个看变量
如果只声明变量未对其赋值,默认值为undefined
如果变量重名产生覆盖
注意:
变量严格区分大小写
变量名称不要包含特殊字符
变量名称最好遵循驼峰标记法或者下划线法
变量名称最好含义明确
2、变量在内存中的存储与释放
1)收集方式
2)收集内容
3)回收算法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
//声明变量
var a;
var b;
var c,d;
// alert(a);
//声明变量的同时并且赋值
var test='this is a test';
var test1=12;
var test2=1.2;
var test3=true;
var test4=false;
// alert(test);
//声明多个变量赋相同的初始值
var a=b=c=d=e=1;
// alert(a);
//变量重名会产生覆盖
a=33;
// alert(a);
//变量名称严格区分大小写
var username='king';
var USERNAME='QUEEN';
// alert(username);
// alert(USERNAME);
//变量名称最好含义明确,以字母或者下划线开始,跟上数字字母下划线
var age=12;
var test5='hello';
// var 12a='bb';
// alert(12a);
var _test='hello';
// alert(_test);
//驼峰标记法
var firstName='king';//小驼峰
var FirstName='queen';//大驼峰
var first_name='maizi';//下划线法
</script>
</head>
<body>
</body>
</html>