1、区分大小写
javascript中的一切变量,函数名和操作符—都区分大小写,也就是说test和Test分别表示两个不容的变量,而函数名不能使用typeof因为他是一个关键字,但typeOf则完全可以是一个有效的函数名
2、变量
Javascript的变量是松散的,所谓松散就是可以用来保存任何类型的数据,换句话说每个变量仅仅是一个用于保存值的占位符而已。定义变量时要加var如:
var message;
像这样未经过初始化的变量会保存一个特殊值----------undefined,有一点要注意如果在函数中使用var定义一个变量,那么这个变量在函数退出后就会被销毁。
3、数据类型
Javascript中有5中数据类型(也成为基本类型)分别是:undefined、Null、Boolen、Number、String,还有一种复杂的数据类型Object
4、type操作符:alert(typeof 95);
Typeof操作符会返回下列某个字符串
Undefiend:表示这个值未定义(使用var声明但未初始化);
Boolen:表示布尔值
String:表示是字符串
Number:表示数字
Object或null:表示这个值是对象
Function:表示这个是函数
5、undefined
Undefined类型只有一个值那就undefined,引入这个值是为了正式区分空对象指针与未经初始化的变量,包含undefiend值的变量与未定义的还是不一样的,如:
Var menssage;
Alert(menssage) //undefiend;
Alret(age) //产生错误
然而令人困惑的是:对未初始化的变量执行typeof和未声明的变量执行typeof操作返回的都是undefiend;所以建议养成显式初始化变量的习惯,如果能够做到这一点,那么当typeof操作符返回undefined我们就做到被检测的变是没有声明,而不是没有初始化的。
6、Boolen类型
该类型只有两个字面值,true和false,这两个与数字不是一回事,因此true不一定等于1,false也不一定等于0;需要注意的是true和false是区分大小写的,下面给出了各种数据类型转换成boolen的规则
数据类型 |
转换成true的值 |
转换成false的值 |
Boolen |
True |
false |
string |
任何非空字符串 |
‘’(空字符串) |
number |
任何非0字符串 |
0和NAN |
object |
任何对象 |
Null |
undefiend |
Undefined |
7、数值转换
有3个函数可以把非数字值转换成数值:Number()、paseInt()、parseFloat();
Number():可以用于任何数据类型,而两个则专门用于把字符串转换成数值,number()转换规则如下:
如果是Boolen:true和false分别转换成1,0;
如果是数字:就直接返回
如果是null和undefined:返回0
如果是字符串:
1、如果字符串只包含数字,则直接转成十进制如:”1” = 1 ;“123” = 123 “011”=11 2、如果字符串包含有效的浮点格式。如1.1,则直接转换成对应的浮点数值(同样也会忽略前面的0)
3、如果是十六进制的格式的、则直接转换成十进制的整数值;
4、如果字符串是空的则转化成0
parseInt():处理整数常用的,它会忽略字符串前面的空格,直到找到第一个非空字符,如果第一个字符不是数字符号或者负号,那么就会返回NAN,类似的22.5会被转换成22因为小数点不是有效的数字字符, parseInt()第二个参数是制定基数,默认是十进制的‘
parseFloat():也是从第一个字符(位置0)开始解析每个字符串,一直解析到字符结束,如果遇到一个无效的浮点数字字符为止,也就是说字符串中第一个小数是有效的,第二个就无效了,因此他后面的字符串将会被忽略,如:
alert(parseFloat(“22.5”)) //22.5
alert(parseFloat(“22.5.66”)) //22.5
parseFloat只解析十进制的。
8、字符串:
String类型用于表示零个或多个16位的Unicode字符组成的字符序列,即字符串。
转换成字符串toString()、默认情况下该方法以十进制返回数值的的字符串表示,而通过传递参数可以输出二进制、八进制、十六进制如:
Var num = 10;
Alet(num.toString()) //”10”
Alert(num.toString(2)) //二进制输出:”1010”
而null和undefined没有toString方法、可以使用String();
9、操作符:
布尔操作符一共有三个:非(NOT)、与(AND)、或(OR)
非(NOT):该操作符用一个!表示,首先操作符会将它操作的数转换成一个布尔值,然后再对其求反。
AND:该操作符用&&表示,有两个操作数,如果第一个操作符为false则第二个无论是什么值结果都不在是true了。
OR(或):该操作符用||表示,如果第一个操作符为true则不会再对第二个操作符求值了。
10、不全等(==)和全等(===)
差别:存在类型转换问题
11、逗号操作符
使用逗号操作符可以在一条语句中执行多个操作,如
Var num = 1,num2 = 2 , num3 = 3
除此之外还是用于赋值,在赋值时逗号操作符总会返回表达式中的最后一项,如:
Var num = (5,1,2,4,8,0) //num值为0
12、do-while
语法:
Var I = 0;
Do{
I += ;
}while(I < 100);
在对条件表达式求值之前、循环体内的代码至少执行了一次
13、for语句
For语句也是一种前测试循环语句,但它具有在执行前初始化变量和定义循环后要执行的代码能力。
For(;;){
//无限循环
}
其实只要给出控制表达式实际上就是吧for循环转换成了wile循环如:
Var count = 10;
Var I= 0;
For(; I < count;){
Alert(i);
I++;
}
14、break和continue
Break: 立即停止循环
Continue: 语句在循环内会立即退出循环,跳出这次循环,继而执行循环后面的语句以及下次循环;
15、arguments
在函数体内可以通过该函数来访问参数数组、Arguments对象只是与数组类型,但它并不是Array的实例,因此可以用arguments[0]来访问数组的第一个元素,使用length可以来确定传递进来多少参数
函数如果没有指定返回值、函数返回的是一个undefined值。