美文网首页
2018-09-20

2018-09-20

作者: 渣渣曾 | 来源:发表于2018-09-20 20:09 被阅读0次
(`return  false:终止运行,开始下面的运行;`)

数据类型转换

  1. 强制类型转换
    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 加法运算符:数字的加法,简单的数字相加,要求加好两边都是数值类型,字符串的加法是字符串的拼接,只有加号两边,有一边是字符串,那么这个加号就是字符串的拼接。(字符串必须是放在引号里面;
    1.2 减法运算符:数字的减法,会进行隐式类型转化,如果减号两边有一边不是数字,那么会自动转换为数字类型;
    1.3 乘法与除法运算符:就是简单的数字运算,乘法是一个(*)号,除法是(/);JS里面,除法运算的除数是可以为0的,结果是无穷,也就是Infinity。
    1.4 取余(余数运算):就是除法运算在得到结果为整数的情况下,被除数剩下的值。(%)取余符号;取余运算符号只与被除数有关,被除数什么符号,结果就是什么符号,
    1.5 绝对值:某一个数字的正数值。
  Math.abs() 获取绝对值;
  Math.pow()次方运算;
  Math.random()获取随机函数;
  虽然浮点数也能够进行取余运算,但是极度不精确,建议不使用。

  1. 自增与自减运算:
    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的操作一样;
区别:如果自增自减运算参与其他运算,那么后加加要先参加运算,然后再自增,或者自减;前加加先自增或者自减,然后
再参与运算。

  1. 乘方运算(**):例:3**2=9;
    3.1 赋值运算:=
var a=1; 给a赋值1;
a=a+2a+=2;
        -=
        *=
        /=
        %=
  1. 比较运算符:> < >= <=
    4.1 == 判断值是否相同;
    4.2 === 判断值与类型是否相同;
    4.3 !=判断值是否不同;
    4.4 !==判断不全等;
这些比较运算符一般都是使用在需要判断的地方,比如`if`,`while`等小括号里面,返回值一定是个布尔值;
如果是数字与字符串进行比较,那么字符串会自动的转化为数字进行比较,如果是两个字符串进行比较,那么先比较第一个
字符,第一个字符大的那么第一个字符串大,如果第一个字符一样大的话就比较第二个字符,字符大小是按照`unicode`
编码确定的;

注意:
unicode编码:文字的编码;
NaN与任何值比较都是false;

  1. 逻辑运算符:
    5.1 && (),符号两边的条件同时符合才会返回true
    5.2 || (),符号两边只要一边符合条件就会返回true
    5.3 !(),取反,true转为false,false转为true

  1. 短路运算:
当逻辑判断操作前面的运算已经得出最终结果的时候,后面的操作就不存在了;具体指或操作的第一个判断返回true,与
操作的第一个判断返回false;
如:
Var  i=10;
If(4<2 ||10> ++i){
    Console.log(i)
}   
  1. 三元(条件)运算符:
    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 开始和结束:圆角矩形,程序总是从开始作为入口,从结束作为出口
    1.2 过程:每一个步骤都是一个过程,过程是使用矩形表示的,过程只能有一个入口,一个出口。
    1.3 判断:里面是一个条件判断,用菱形来表示,一个入口,多个出口。

  1. If结构
    2.1 单句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语法:控制breakcontinue,一般不使用,但是也有可能会遇到。
label _name(随便取得名字):
for(){
    label  name;
    continue  name;
}

相关文章

网友评论

      本文标题:2018-09-20

      本文链接:https://www.haomeiwen.com/subject/qbnnnftx.html