本文共 2241 字,大约阅读时间需要 7 分钟。
var
关键字就声明关键字,那么该变量会被定义为全局变量(不推荐)。function f() { num = 3; } f(); console.log(num) //结果为3
undefined
存在的意义是为了正式区分空对象指针(null)和未经初始化的变量。Boolean()
方法可将各种类型的值转化为布尔值。其中需要注意的,空字符串为false,Number类型任何非零数字值,包括无穷大,均为true;0和NaN
(Not a Number)均为false。NaN
任何涉及到该值的操作,如NaN/10
都会返回NaN
。它不等于任何值,包括其本身。alert(NaN === NaN) //输出结果为 false
isNaN
方法可判断一个值是否是NaN
,如果参数是字符串,会自动转换为数值;如果是布尔值,则true->1,false->0;console.log(isNaN(NaN)) //true console.log(isNaN(10)) //false console.log(isNaN("10")) //false console.log(isNaN("blue")) //true console.log(isNaN(true)) //false
var str = 'zed'; str = 'zed1' console.log(str) //zed1
&&
为短路操作符,即若左边条件为假,不会判定右边,不论真假,连看都不看一眼。===
与==
,推荐使用前者。==
在判定之前会把两者转换为类型相近。console.log(1 == '1') //true console.log(1 === '1')//false console.log(1 == true)//true console.log(1 === true)//false console.log(null == undefined)//true console.log(null === undefined)//false
switch
语句中,如果有意不写break,最好给出注释。var n = 2; switch (n) { case 1: case 2: //合并两种情形 console.log(1 + ' or ' + 2); break; case 3: console.log(3); break; default: console.log(101); break; }
switch
语句可以用任何数据类型,甚至是表达式(那些语言一般只能用数值型)。var con = 'hhzed'; switch (con) { case "hahah": console.log('hhh'); break; case 'hh' + 'zed': console.log(1); break; default: console.log(con); break; }
arguments[0] ,arguments[1]
,命名的参数只是便于操作。var obj = { name: 'zed' } function f(object) { object.name = 'xxxx'; } f(obj); console.log(obj.name) // xxxx
var obj = { name: 'zed' } function f(object) { object.name = 'xxxx'; object = { name: 'yyyyy' } } f(obj); console.log(obj.name) //xxxx ,如果作为引用传给函数,那么结果应为yyyyy,故传递的是地址值
未完待续…
转载地址:http://chozi.baihongyu.com/