个人复习JavaScript重点(总结一)

1.变量

  声明提前

  按值传递 -->'赵氏孤儿'

  var n=100; var m=n; m--;     -->n=100

  var arr=[1,2,3]; var arr1=arr;  arr1.push(4);  -->arr=[1,2,3,4]

2.数据类型

  原型:值直接保存在变量本地的内容

  引用:值保存的是变量的地址

    typeof null;-->object      typeof  undefined;-->undefined

3.数据类型转换

 <隐式转换>

  1.算术运算:-->默认转为数字

    字符串(前提确定内容都是数字)-=0   -->   转为Number类型

  2.关系运算:默认转为数字;两个字符串比较,按字符比较其unico值

  3.逻辑运算:默认转为Boolean类型

 <显示/强势转换>

  1.转为String类型

    x.toString()  -->   不能用于null与undefined

                 String()  -->   是万能的

    错误类型:  var n=null; console.log(n.toString());

             var n=defined;console.log(n.toString());

                            上述两种会报错

           包装类型: var n=100; console.log(n.toString());  -->  new Number(n).toString();

                          null与undefined不可以new 

  2.转为Number类型

    Number(x);        

      parseInt(str)/parseFloat(str)

  3.转为Boolean类型

    Boolean(x);    

    !!x

    NaN,0,null,undefined,"",   -->这5中转为false

4.运算符

  1.算术运算符   -->     +,-,*,/,%,

    /:  不为0的数 / 0 =  Infinity   ;    console.log(0/0)  --  >NaN

    %: 判断能否整除  ;  限制某个值不能超过某个数

  2.关系运算符  

    > , < , >= , <= ,  !=     -->  自动进行类型转换

    === ,!==                  -->   对数据类型也进行比较,比较null与undefined

    NaN != 任何值    --> true

    isNaN(n)   -->   返回布尔值

    1.var n=" "; console.log(isNaN(n));   -->  false

    2.console.log(Number(" "));   -->  0     Number(空字符串)=0

       console.log(Number("   1   "));  -->  1

  question:  如何判断输入的内容是否为数字

    使用unicoed  /  正则表达式

  3.逻辑运算符

    &&   ||    !

    利用&&  -->   条件&&操作;

    利用||   -->   value1 ||  value2;

    console.log(4&&5);   -->5                                          console.log(0&&5);        -->0   ?

    console.log(4||5);    -->4                                           console.log(0||5);         -->5

  4.位运算

    >> 右移  ,    <<   左移     二进制移动

  5.扩展赋值表达式

    +=  , -= , *= , /= , %= 

  6.三目/三元/条件运算

    条件?操作:

    条件?操作:

    条件?操作:

    ...?... : 默认值;

4.招数

  1.分支结构:

   一个条件一件事,满足则做

    简单: 条件 && 操作

    复杂:if(...){......}     建议即使一句话也不要省略{}

    一个条件两件事,满足做事件1,不满足做事件2

    简单:三目运算

    复杂:if(...){}else{}

    多个条件,多件事,多选一

    简单:三目运算

    复杂:if(...){...}else if(...){...}...

    等值比较:switch case

  2.循环结构

   for(;;){};  while(){}  ;  do{}while()

    死循环:for(;;);  while(true) 

  question:九九乘法表:

                                           //行row<=9,row=1 row++
                                           for(var row=1;row<=9;row++){
                                              for(var i=1,line="";i<=row;line+=str,i++){
                                                 var r=i*row;
                                                 r=r<10?r+"; ":r+";";
                                                 var str=i+"x"+row+"="+r+" ";
                                              }
                                              console.log(line);
                                            }

5.函数

  对象:函数名指向函数对象的变量

          将变量作为参数传入函数时,是按值传递

  作用域:全局作用域

      函数作用域

  全局函数:

    以前没搞懂JS的全局函数,全局函数和window对象的函数不一样。
    全局函数不属于任何一个内置对象。

    JS包含以下7个全局函数,用于一些常用的功能:escape(),eval(),isNan(),isFinite(),parseFloat(),parseInt(),unescape();

    escape(string),对string进行编码,这样就可以在所有计算机上读取该字符串。

    该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。

    

    

  

    

原文地址:https://www.cnblogs.com/zmr2520/p/4943999.html