一, 请写出下列表达式的值
var a = 5; var b = 0;
(1)"" + a - b; _____5_______
(2)typeof ("" + a - b); ___number________
(3)Boolean(a) - b; _____1______
var n = null; var m;
(4) typeof(n); ____object_____
(5) typeof(m); ____undefined_____
(6) Number(n) + Number(m); _____NaN_______
(7) Boolean(n) - Boolean("n"); _____-1_______
(8) Boolean(m) - Boolean(n); _____0________
(9) m--; ____NaN_______
(10) +n; _____0______
二 填空题
(1) 数组中可以添加元素,但是不会修改原数组的方法是 ____concat______, 可以向数组中的任意位置添加元素的方法是____splice______
(2) 只能以__字母____, __下划线_____, __$_____作为变量名的开头
(3) 数组的三要素 : __下标_____, ___元素____, __数组长度______
(4) 结束循环语句的关键字是___break_____, 结束本轮循环的关键字是 ___continue______
(5) 假如price = 900, "price > 500 && price *= 0.8" 这句代码的运行结果是__720_____
逻辑与的短路运算 :
var res = undefined || null || 0 || 10 || 1 || '';
console.log ( res );
10
var res = 100 && null && 0 && 10 && 1 && '';
console.log ( res );
null
var age1 = 10;
var age2 = 10;
var res1 = typeof(age1) && age1 + age2; 20
var res2 = typeof(age1) || age1 + age2; 10
var res3 = (age1 - age2) && age1 +age2; 0
var res4 = (age1 - age2) || age1 +age2; 20
var c = 12;
var res1 = " " && c; 12
var res2 = "NaN" && c; 12
var res3 = undefined || c + "c"; 12c
console.log ( Number ( "123.1.1abc" ) ); NaN
console.log ( parseInt ( "123.1.1abc" ) ); 123
console.log ( parseFloat ( "123.1.1abc" ) ); 123.1
console.log ( Number ( false ) ); 0
console.log ( Number ( undefined ) ); NaN
console.log(+null); 0
console.log(+"false"); NaN
console.log(+false); 0
console.log(+undefined); NaN
console.log(+"number"); NaN
var a = 5;
var b = 0;
console.log ( a+b ); 5
console.log ( typeof (a+b) ); number
console.log ( a-b ); 5
console.log ( typeof (a-b) ); number
console.log ( a-Boolean(b) ); 5
console.log ( typeof (a-Boolean(b)) ); number
console.log ( Boolean(a)-b ); 1
console.log ( typeof (Boolean(a)-b) ); number
console.log ( Boolean ( 0 ) ); flase
console.log ( Boolean ( 0.0 ) ); flase
console.log ( Boolean ( "0" ) ); true
console.log ( Boolean ( null ) ); flase
console.log ( Boolean ( "null" ) ); true
console.log ( Boolean ( false ) ); flase
console.log ( Boolean ( undefined ) ); flase
console.log ( Boolean ( ' ' ) ); true
console.log ( Boolean ( NaN ) ); flase
console.log ( Boolean ( "false" ) ); true
console.log ( Boolean ( "undefined" ) ); true
转成数字类型
parseInt(".123abc"); NaN
parseFloat(".12.3abc"); 0.12
parseInt(123); 123
parseFloat(123); 123
parseInt(123.25); 123
parseFloat(123.25); 123.25
console.log ( Number ( "123" ) ); 123
console.log ( Number ( "123.1.1abc" ) ); NaN
console.log ( parseInt ( "123.1.1abc" ) ); 123
console.log ( parseFloat ( "123.1.1abc" ) ); 123.1
console.log ( Number ( false ) ); 0
console.log ( Number ( undefined ) ); NaN
console.log(+null); 0
console.log(+"false"); NaN
console.log(+false); 0
console.log(+undefined); NaN
console.log(+"number"); NaN
var a = 5;
var b = 0;
console.log ( a+b ); 5
console.log ( typeof (a+b) ); number
console.log ( a-b ); 5
console.log ( typeof (a-b) ); number
console.log ( a-Boolean(b) ); 5
console.log ( typeof (a-Boolean(b)) ); number
console.log ( Boolean(a)-b ); 1
console.log ( typeof (Boolean(a)-b) ); number
console.log ( Boolean ( 0 ) ); flase
console.log ( Boolean ( 0.0 ) ); flase
console.log ( Boolean ( "0" ) ); true
console.log ( Boolean ( null ) ); flase
console.log ( Boolean ( "null" ) ); true
console.log ( Boolean ( false ) ); flase
console.log ( Boolean ( undefined ) ); flase
console.log ( Boolean ( ' ' ) ); true
console.log ( Boolean ( NaN ) ); flase
console.log ( Boolean ( "false" ) ); true
console.log ( Boolean ( "undefined" ) ); true
console.log ( Number ( "123" ) ); 123
console.log ( Number ( "123.1.1abc" ) ); NaN
console.log ( parseInt ( "123.1.1abc" ) ); 123
console.log ( parseFloat ( "123.1.1abc" ) ); 123.1
console.log ( Number ( false ) ); 0
console.log ( Number ( undefined ) ); NaN
console.log(+null); 0
console.log(+"false"); NaN
console.log(+false); 0
console.log(+undefined); NaN
console.log(+"number"); NaN
var a = 5;
var b = 0;
console.log ( a+b ); 5
console.log ( typeof (a+b) ); number
console.log ( a-b ); 5
console.log ( typeof (a-b) ); number
console.log ( a-Boolean(b) ); 5
console.log ( typeof (a-Boolean(b)) ); number
console.log ( Boolean(a)-b ); 1
console.log ( typeof (Boolean(a)-b) ); number
console.log ( Boolean ( 0 ) ); flase
console.log ( Boolean ( 0.0 ) ); flase
console.log ( Boolean ( "0" ) ); true
console.log ( Boolean ( null ) ); flase
console.log ( Boolean ( "null" ) ); true
console.log ( Boolean ( false ) ); flase
console.log ( Boolean ( undefined ) ); flase
console.log ( Boolean ( ' ' ) ); true
console.log ( Boolean ( NaN ) ); flase
console.log ( Boolean ( "false" ) ); true
console.log ( Boolean ( "undefined" ) ); true
隐式数据类型转换
console.log ( 1 + "true" ); 1true
console.log ( 1 + undefined ); NaN
console.log ( 1 + null ); 1
console.log ( 1 + false ); 1
console.log ( 1 + NaN ); NaN
console.log ( 1 + "null" ); 1null
console.log ( 1 + "10" ); 110
console.log ( "1" + 10 ); 110
console.log ( "1" + (10 + 1) ); 111
console.log ( "1" + 10 + 1 );`` 1101
console.log ( 10 + 1 + "1" ); 111
console.log ( !10 ); flase
console.log ( !"10" ); flase
console.log ( !"0" ); flase
console.log ( !0 ); true
console.log ( !"null" ); flase
console.log ( !"" ); true
console.log ( !" " ); flase