javascript第二遍基础学习笔记(二)

一、操作符

  1、一元操作符:

    自加自减(分前置和后置2种):++、--

    区别:前置的先自加或自减,后进行计算;二后置的是先进行计算,后自加或自减(在其会产生负面影响时才能体现区别);

var i=1;
i++;  //++i
console.log(i); // 没有负面影响的情况下:2/2
var a = (++i)+i;  
var b = (i++)+i;
console.log(a);  //6
console.log(b);  //7

    其适合任何类型,非数字类型的会转换成数字类型 Number() ;(基础类型的字面量不能使用,因为其是不可变的)

    加、减运算符:+、-

    其操作数不是数字类型时,会对操作数进行 Number() 类型转换;

  2、位操作符:

    正数:原码表示;

    负数:补码表示(反码+1);

    按位非(~):求反码;

    按位与(&):都是1是1,另外的是0;

    按位或(|):有1是1,都是0是0;

    按位异或(^):相同时1,不相同是0;

    左移(<<):空位补0;

    右移(>>带符号位):空位补符号位;

    右移(>>>不带符号位):空位补0;

  3、布尔操作符:

    逻辑非(!):返回一个相反的布尔值

    逻辑与(&&):在都是布尔值时返回布尔值,存在不是布尔值时返回不一定是布尔值;

    逻辑或(||):在都是布尔值时返回布尔值,存在不是布尔值时返回不一定是布尔值;

    (注:逻辑与和逻辑或都是短路操作符)

  4、加减乘除:

  5、关系操作符(>、>=、<、<=):都是数值,进行数值比较,都是字符串进行字符串比较,另外的转换成数值比较;

  6、相等操作符(==、===):相等与全等,全等不进行类型转换;

  7、三木运算符( ? : ):;

  ......

二、语句:

  1、if语句:对其的判断条件为非布尔值时进行Boolean()转换成布尔值;

  2、do-while:至少执行一次循环体;

  3、while:

  4、for语句:

  5、for in 语句:用来枚举对象属性;

  6、lable语句:

  7、break和continue语句:

  8、with语句:可以修改作用域,将代码的作用域设置到一个对象中; with(... ){ ... } 

  9、switch语句:

 3、变量、作用域和内存:

  1、值类型和引用类型:值类型的变量存放具体值,而引用类型的是存放其的引用;

  2、函数的参数的传递只能传递值,所以传递引用类型时,传递的是其引用;

  3、作用域是定义时候的非调用时候的;

function a(){
  var t="aa";
  function b(){
    console.log(t);
  }
  return b;
}
var t="ww";
var b=a();
b();  //aa 并非是ww

  4、延长作用域链:try-catch的catch块和with;

  5、js没有块级作用域;


    

    

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。