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