变量
1.标识符
定义标识符有一定的规则:
(1)由大小写字母,数字,下划线和美元符号($)组成
(2)不能以数字开头
(3)严格区分大小写
(4)不能使用JavaScript中的关键字命名
(5)要尽量做到通俗易懂
2.保留关键字
保留关键字是指在JavaScript语音中被事先定义好并并赋予特殊含义的单词,这些单词不能作为变量名和函数名使用,否则出现语法错误。
3.变量的使用
变量可以看作是存储数据的容器。JavaScript中通常用var关键字声明,变量名的命名规则与标识符相同。利用var声明,但未赋初始值的变量,默认值会被设定为undefined。可用逗号(,)操作符,实现一条语句可同时完成多个变量的声明。
数据类型
1.数据类型分类
数据类型分为 基本数据类型 (Boolean(布尔型),String(字符型),Number(数值型),Null(空型),Undefined(未定义型)))和 引用数据类型(Object(对象))
2.基本数据类型
1.布尔型
布尔型通常用于逻辑判断,只有true和false俩个值,如:
var flag1=true;var flag2=false;(注意:在JavaScript,true,false只有全是小写时才表示布尔型)
2.数值型
JavaScript中数值型并不区分整数和浮点数,所有数字都是数值型,使用时可以添加"-"表示负数,"+"表示正数(通常省略"+"),或是设置为NAN表示非数值。如:
var oct= 032; //八进制数表示的26
var dec=26; //十进制数26
var hex=0x1a; //十六进制数26
var fnum1=7.26; //标准格式
var fnum2=-6.24; //标准格式
var fnum3=3.14E6; //科学计数法
var fnum4=0x1a; //科学计数法
3.字符型
字符型是由Unicode字符,数字等组成的字符序列,一般称为字符串 ,是用来表示文本的数据类型,程序中的字符型数据包括在单引号('')或双引号("")中。单引号定界的字符串中可以包含双引号,由双引号定界的字符串中也可以包含单引号,但如果要在单引号中使用单引号,双引号中使用双引号,要使用转义字符"\"。如 var say1=' I \'m is ...'; var say2=" \"Tom\"";此外,在字符串中使用换行,Tab等特殊符号时,也需要利用转义符"\"。
4.空型
空型只有一个特殊的null值,用于表示一个不存在的或无效的对象或地址。且由于JavaScript中大小写敏感,因此变量的值只有在小写的null时表示空型(Null)。
5.未定义型
未定义型也只有一个特殊的undefined值,用于声明的变量还未被初始化时,变量的默认值为undefined。与null不同的是,undefined表示没有为变量设置值,而null则表示变量(对象或地址)不存在或无效。需要注意的是,null和undefined与空字符串('')和0都不相等。
3.数据类型检测
1. typeof操作符
typeof操作符以字符串形式,返回未经计算的操作数的类型。如var num1=12,num2=‘34’;
console.log(typeof num1); //输出结果number
console.log(typeof num2); //输出结果String
2.对象原型的扩展函数
var data=null;var type='Null';
object.prototype.toString.call(data)=='[object'+type+']';//检测数据类型的表达式,若是指定type型,则返回true,否则返回false。
4.数据类型转换
1.转布尔型(Boolean())
2.转数值型(Number(),parseInt(),parseFloat())
3.转字符型(String(),toString())
表达式
表达式可以是各种类型的数据,变量和运算符的集合。最简单的表达式可以是一个变量。
var x,y,z;//声明变量
x=1;//将表达式“1”的值赋给变量x
z=y=x;//将表达式“y=x”的值赋给变量z
console.log(x);//将表达式“z”的值作为参数传给console.log()方法
运算符
1.算术运算符
+ 加,- 减,* 乘,/ 除,% 求余,** 幂运算 3**4 81,++ 自增(前置)a=2,b=++a a=3;b=3;,
++ 自增(后置)a=2,b=a++ a=3;b=2;,-- 自减(后置)a=2,b=a-- a=1;b=2;,-- 自减(前置)a=2,b=--a a=1;b=1;
2.字符串运算符
JavaScript中,“+”操作的俩个数据中只要有字符型,则“+”就表示字符串运算符,用于返回俩个数据拼接后的字符串。
3.赋值运算符
= 赋值,+= 加并赋值,-= 减并赋值,*= 乘并赋值,/= 除并赋值,%= 模并赋值,+=连接并赋值
**=幂运算并赋值,<<= 左移位赋值,>>=右移位赋值,>>>=无符号右移位赋值,&=按位与赋值
^= 按位异或赋值,|=按位或赋值
4.比较运算符
== 等于,!=不等于,===全等,!==不全等,>大于,>=大于或等于,<小于,<=小于或等于
5.逻辑运算符
&&与,||或,!非
6.三元运算符
条件表达式 ? 表达式1 : 表达式2
表达式的值如果为true,则返回表达式1的结果,如果为false,则返回表达式2的执行结果
7.位运算符
&按位与,|按位或,~按位非,^按位异或,<<左移,>>右移,>>>无符号右移(移动为二进制形式移动)
流程控制
1.选择结构
1.单分支语句
if(判断条件){
代码段
}
2.单分支语句
if(判断条件){
代码段
}else{
代码段
}
3.多分支语句
1.if...elseif...else
if(条件1){
代码1;
}else if(条件2){
代码2;
}else{
代码3;
}
2.switch语句
switch(表达式){
case 值1:代码1;break;
case 值2:代码2;break;
......
default:代码段n;
}
2.循环结构
1.while循环语句
while(循环条件){
循环体
......
}
2.do...while循环语句
do{
循环体
......
}while(循环条件);
3.for循环语句
for(var i=0;i<5;i++){
......
}
3.跳转语句
常用跳转语句有break和continue语句,break用于终止当前语句的执行,continue用于结束本次循环的执行,开始下一轮循环的执行操作。标签语句 label:statement;label表示标签的名称,如start,end等任意合法的标识符,statement表示具体执行的语句,如if、while、变量的声明等。