(`return false:终止运行,开始下面的运行;`)
数据类型转换
- 强制类型转换
1.1 parseInt:将数字或者字符串转化为整型。
1.2 parseFloat:将数字或者字符串转化为浮点型,如果转化的内容结果是整型,那么结果就是整型,不会是浮点型。
1.3 Number(‘内容’):结果只有两种,一种是数字类型,一种是NaN,只要内容里面有一个不是数字的字符,那么就是NaN;
1.4 String:将内容转化为字符串类型。当使用string转化null,undefined,布尔值的时候会直接将这个原始的数据类型转化为字符串,
1.5 Boolean:把内容转化为布尔值,把任何内容转化为true或者false;
转化布尔值为false的情况:
- undefined为false
- null为false
- false为false
- 0为false
- NaN为false
- “ ”或者空字符串为false
总结:
如果是string类型,只要不是空字符,都会转为true
number类型,只要不是0,即使是负数,都会转为true;
object类型,只要不是null类型,都会转化为true。
undefined类型,都会转换成false。
隐式类型转换(自己转换
)
- 判断里面:只要是判断里面的结果都会转化为布尔值;
- 具有字符串的加法:两边都要转换为字符串,就是字符串的拼接。
- 字符串与数字比较大小:字符串要转化为数字,减法运算的时候,字符串要转化为数字;
- 遇到:
==,===,!=,!==
就要知道要进行隐式类型转换了;
技巧:
快速的实现字符串转化为数字,减0 运算。
运算符号
- 算术运算符:
1.1 加法运算符:数字的加法,简单的数字相加,要求加好两边都是数值类型,字符串的加法是字符串的拼接,只有加号两边,有一边是字符串,那么这个加号就是字符串的拼接。(字符串必须是放在引号里面;
)
1.2 减法运算符:数字的减法,会进行隐式类型转化,如果减号两边有一边不是数字,那么会自动转换为数字类型;
1.3 乘法与除法运算符:就是简单的数字运算,乘法是一个(*
)号,除法是(/
);JS里面,除法运算的除数是可以为0的,结果是无穷,也就是Infinity。
1.4 取余(余数运算
):就是除法运算在得到结果为整数的情况下,被除数剩下的值。(%
)取余符号;取余运算符号只与被除数有关,被除数什么符号,结果就是什么符号,
1.5 绝对值:某一个数字的正数值。
Math.abs() 获取绝对值;
Math.pow()次方运算;
Math.random()获取随机函数;
虽然浮点数也能够进行取余运算,但是极度不精确,建议不使用。
- 自增与自减运算:
2.1 I++:对i加1,结果赋值给i;和i=i+i的操作一样;
2.2 i--:对i减1,结果赋值给i;和i=i-i的操作一样;
2.3 ++i:对i加1,结果赋值给i;和i=i+i的操作一样;
2.4 --i:对i减1,结果赋值给i;和i=i-i的操作一样;
区别:如果自增自减运算参与其他运算,那么后加加要先参加运算,然后再自增,或者自减;前加加先自增或者自减,然后
再参与运算。
- 乘方运算(**):例:3**2=9;
3.1 赋值运算:=
var a=1; 给a赋值1;
a=a+2a+=2;
-=
*=
/=
%=
- 比较运算符:
> < >= <=
4.1==
判断值是否相同;
4.2===
判断值与类型是否相同;
4.3!=
判断值是否不同;
4.4!==
判断不全等;
这些比较运算符一般都是使用在需要判断的地方,比如`if`,`while`等小括号里面,返回值一定是个布尔值;
如果是数字与字符串进行比较,那么字符串会自动的转化为数字进行比较,如果是两个字符串进行比较,那么先比较第一个
字符,第一个字符大的那么第一个字符串大,如果第一个字符一样大的话就比较第二个字符,字符大小是按照`unicode`
编码确定的;
注意:
unicode编码:文字的编码;
NaN与任何值比较都是false;
- 逻辑运算符:
5.1 && (与
),符号两边的条件同时符合才会返回true
;
5.2 || (或
),符号两边只要一边符合条件就会返回true
;
5.3 !(非
),取反,true
转为false
,false转为true
;
- 短路运算:
当逻辑判断操作前面的运算已经得出最终结果的时候,后面的操作就不存在了;具体指或操作的第一个判断返回true,与
操作的第一个判断返回false;
如:
Var i=10;
If(4<2 ||10> ++i){
Console.log(i)
}
- 三元(条件)运算符:
6.1 三元:三个操作数
6.2 自增,自减:一元操作符;
6.3 ==,>,:二元操作符。a>b;
6.4 ?:条件?操作1:操作2 ;
(如果满足条件就实行操作1,不满足就实行操作2
)
类似于下面:
if(条件){
操作1;
}else{
操作2;
}
a>10?console.log(a):console.log(10);
- innerHTML:
获取标签内部的所有内容,可以获取出标签里面的标签 - innerText:
获取标签里面的内容,不获取标签;
<div><span>123</span></div>
innerHTML <span>123</span>
innerText 123
eval 能够把一个字符串当做表达式进行计算;
程序的三大流程:
- 顺序结构
- 循环结构
- 选择结构(
分支结构
)
- 流程图:
1.1 开始和结束:圆角矩形,程序总是从开始作为入口,从结束作为出口
1.2 过程:每一个步骤都是一个过程,过程是使用矩形表示的,过程只能有一个入口,一个出口。
1.3 判断:里面是一个条件判断,用菱形来表示,一个入口,多个出口。
- If结构
2.1 单句if:- If(判断语句)一句代码:
如果符合if条件的结果语句只有一条,那么if后面的大括号可以省略;
- If(判断语句)一句代码:
等价于:
Var a=3;
if(a==1)console.log(a);
Console.log(10);
虽然这个很简洁,但是不介意使用,也就是说即使只有一句代码也要加上大括号;
- 一般if:
If(判断条件){
一组语句;
}
- 双分支if
If(){
一组语句;
}else{
一组语句;
}
这个语句相对来说比较麻烦,如果语句比较少的时候,可以使用,如果语句比较多,那么久转化为一般if
结构;
If(){
一组语句;
}else{
一组语句;
}
转化成:
If(a==1){
}
If(!a=1){
}
- 多分支结构if:
If(判断){
}else if(判断){
} else if(判断){
}
switch结构:
不确定具体值得用if结构,确定具体值得,并且是有限个(`数据不能太多`)的时候用switch;
switch(判断的值){
cass第一个值:
语句二
break;
cass得二个值
语句;
dreak
- default:
语句
break
}
break:为了跳出一个代码块,如果没有break
,那么swithch case
代码就继续往下执行,那么下面的case
就不启动。
注意:switch参与判断的值与case后面的值是全等判断;
for循环结构
for(初始化;判断条件;改变循环判断值){
}
如:
for(){
第二个循环的变量注意变化
for(){
}
}
while循环
初始化
while(判断条件){
改变循环条件
}
比如:
var i=0;
while(i<100){
I++;
}
do while循环:
do{
}while();
区别:while循环先判断后运行,不符合条件一次也不运行,do while先运行再判断,如果不符合条件,至少运行一次,
break与 continue:
- break:跳出代码块;结束循环
- continue:继续执行,结束本次循环;
continue
后面的不执行了,直接跳出; - label语法:控制
break
与continue
,一般不使用,但是也有可能会遇到。
label _name(随便取得名字):
for(){
label name;
continue name;
}
网友评论