JS基础 变量
确定的值叫做常量
JS中数据类型分为两大类
1.基本数据类型
数字 number
字符串 string
布尔值 Boolean
特殊数据类型 null空 undefined 变量未声明
复合数据类型
变量,值可以改变的叫做变量
1.声明变量 通过关键字(系统定义的有特殊功能的单词)var
声明变量的时候,同时给变量赋值,叫做初始化。
2.变量赋值。
3.可以同时定义多个变量。var name = " “, age=” ";
typeof 返回数据类型
运算符
算数运算符
关系运算符
逻辑运算符
赋值运算符
自增,自减运算符
自动数据类型转换
1.任何类型的数据和字符串类型数据做相加操作时,其他数据类型会自动转换成为字符串类型,字符串拼接,此时的相加操作不再是数学意义上的加法,而是表示拼接的意思。
如果其中一个操作数是字符串的时候, +号叫做字符串拼接。
2.任何数据除了和字符串做相加运算外,与NaN做运算的结果始终都是NaN,包括NaN本身和NaN做运算结果也为NaN.
字符串如果是纯数字字符串转成数字,否则转换成NaN。
例:1 - “2” = -1; 1 - “2a” = NaN;
运算符和操作数组成的式子,叫做表达式。 功能 表达式值
赋值运算符 将等号右边的值赋给等号左边的变量。
复合赋值运算符。
+= *= /= %=
任何其他数据类型除了和字符串做相加操作外,与数字类型做算数运算时,其他数据类型都会自动的转换成数字。
布尔值: true =》1 ;false =》0 ; null=》0 ; undefined=》NaN
强制类型转换
通过方法Boolean() 将别的数据类型强制转换成布尔值。
var tmp = Boolean(1); //true
结论:
1.数字0转换成布尔值为false,所有非0的数字转换成布尔值都为true。
2.空字符串转换成布尔值为false,所有非空字符串转成布尔值为true。
3.null 和 undef 都为false.
方法 Number() 将别的数据类型转成数字
1.布尔值: true =》1 ;false =》0
2.字符串 纯数字的字符串 =》转成对应的数字, 非数字为NaN
3.null=》0 ; undefined=》NaN
方法 parseInt( ) 兼容Number的功能,取整
var tmp = Number(“20a”); //NaN
var tmp = parseInt(“20a”); //20
var tmp = parseInt(“3.14”); //3
方法parseFloat( ) 取浮点数 带小数的数字 可以将别的数据类型转换成数字
var tmp = parseFloat(“3.14”); //3.14 number类型
var tmp = 1/0; //Infinity 表示无穷大
var tmp = -1/0; //-Infinity 表示无穷小
一元运算符 只能操作一个值的运算符,叫做一元运算符。
a++; ++后置,先取a的值,然后在进行+1操作。
++a; ++前置,先进行+1操作,然后再取a的值。 都是进行+1操作
a–;
–a;
关系运算符
关系运算符中操作数为非数字的时候要遵从以下规律:
1.如果两个操作数都是数值,则数值比较。
2.两个操作数都是字符串,则比较两个字符串对应的字符编码值。 ASCII 码表
逐位进行比较,直到比较出大小,终止比较。
3.两个操作数有一个是数值,则将另一个转换成数值,再进行比较。
在等于和不等的比较上,如果操作数为非数值,则遵从以下规律:
1.一个操作数为布尔值,则比较之前将其转换成数值,false转换成0,true转换成1
2.一个操作数字为字符串,则比较值钱将其转成数值再进行比较。
3.一个操作数为NaN,则返回false, !=返回true,并且对NaN和NaN自身不等。
4.在全等和全不等,如果值和类型都相等,才返回true,否则返回false。 === ,!
alear(20 === “20”); // false 比较的是数据类型和值 全等。
逻辑运算符。
与 && 当两个表达式的结果都为真时,与运算的结果才为true。第一个为false时,就不会去判断第二个。
或 || 两个表达式的结果都为假时,与运算的结果才为假。第一个为true时,就不会去判断第二个。
非 ! 取反
进制转换
十进制转二进制 方法,除二取余,倒序排列。
流程语句 顺序,分支(选择),循环
在JS中,把{ }括起来的所有语句都当作是一条语句对待。
如果在声明变量时,没有赋值,一般情况将初始值设置为null。
if语句
switch语句格式
switch(表达式){
case 常量1:
语句1;
break; 没有break,会事件穿透。
…
default:
如果上述语句都不成立,执行这里;
break;
}
规律:表达式的结果等于哪个case的常量,则执行其后面的语句,执行完break以后,就跳出switch结构,如果都不满足,执行default语句。
三目运算符/条件运算符
格式:
表达式1 ? 表达式2 :表达式3;
循环
while
var i = 1; 循环初值
var sum = 0;
while(i <= 100){ 循环条件
sum += i; 循环体
i++; 循环变量增量
}
do…while 格式
do{
循环语句;
}while(表达式);
var i = 1;
var sum = 0;
do{
sum +=i;
i++;
}while(i <= 100);
while 和 do…while区别
1.while循环是先判断表达式,然后再去执行循环语句。
2.do…while循环先去执行一次循环语句,然后再去判断一次表达式。
for
var sum = 0;
for(var i = 1; i <= 100; i++){
sum +=i;
}
break 和 continue
break
1.在switch语句中使流程跳出switch。 跳出整个循环
2.在循环语句中使流程跳出当前的循环。
continue 跳出下一个循环
只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。
函数的概念
编程JS中函数的概念: 函数当它被调用时执行的可重复性=使用的代码块。 方法
函数定义:
无参函数的声明:
格式:
function 函数名(){
函数体;
}
函数的调用 函数名();
函数分类:
内置函数(系统函数,官方函数)
自定义函数 函数名 = 标识符 见名知意
有参函数
把函数中不确定的值当作形参。
function 函数名(形参。。。){ //n 形参
函数体;
}
函数的调用 函数名(10);// 实参给形参进行赋值 10 是实参