js学习笔记- 02/03 - 条件语句,循环语句,typeof

1.a, b 交换值

a = a + b;

b = a - b ;

a = a - b;

2. 字符串对比,比的是ASCII

‘10’> '8'  : false,先对比第一位

3.逻辑运算符 &&

 var a = 1 && 2 + 2;   // 4

 var a= 0 && 2 + 2;  // 0

 var a= 0 && 1 && 1;  // 0

 var a = 1 && false && 1;  //false

 var a = 1 + 1 && 1 - 1;  //0

先看第一个表达式转换为布尔值,如果为真,会看第二个表达式转换为布尔值的结果。

然后如果只有两个表达式的话,只看第二个表达式,就可以返回该表达式的值了。

4. 短路语句  a > b && document.write('aaa');   // aaa

等价于

if(a>b){document.write('aaa');}

5. ||

var a = !123; // false

var a = !"";  // true

6. for

for (var i = 0;  i < 10; i++){}

等同于

var i = 0;

for( ; i < 10; ){ i++}

 var a= 0 && 2 + 2;  // 0

7. swich

switch(n){

    case 1: console.log(1); break;

    case 2: consoloe.log(2); break;

    case 3 :

    case 4: console.log('3,4'); break;

}

8. break 、continue

break: 终止总循环

continue: 终止本次循环,进行下次循环

9.编程形式的区别

面向过程

面向对象

10.typeof (num) 、 typeof num

// number  string  boolean  object undefined  function

typeof(null); // object  null是为对象占位的

11. 类型转换

显示类型转换:Number(mix)、parseInt(string,radix)、parseFloat(string)、toString(radix)、String(mix)、Boolean()

Number

var num = Number('123');  //123

Number(true); // 1     Number(false); // 0

Number('a'); // NaN(not a number)

Number(Null); // 0

parseInt

parseInt(true); // NaN     parseInt(false); // NaN     

parseInt(10, radix); //  radix(2~36)    (将 radix 进制的10数字,转换为10进制)

parseInt("123abc");  //  123 从数字位看到非数字位

parseInt("10px"); // 10

parseFloat

parseFloat("123.1ac") ; //123.1

toString

undefined、Null 不能用toString

var demo = 10;

var num demo.toString(8);  //12

隐式类型转换:isNaN、++

isNaN -->Number

console.log(isNaN("abc"));  // true

console.log(isNaN(123));  // false

++/--  +/-   --> Number

var a = "123";   a ++;  // 124

+

"ab" + "c"  // "abc"

"12" + "3"; // 123

"12" + 3 //  15

-*/%  --> Number

&& ||  !

==  

1 == "1"; //true

2 > 3 < 1; //true

10>100>0; //false

NaN == NaN; // false 

12. 不发生类型转换  ===   !==

NaN === NaN; // false 

typeof(typeof(a)); // string


猜你喜欢

转载自blog.csdn.net/qq_25131799/article/details/79937700