刚刚学JS,正在看《JavaScript权威指南》这本圣经。
虽然只看了些皮毛,但是却找到了N多我不会的东西。
在此做一个记录,方便以后自己查阅。
1.在JavaScript权威指南,第六章语句里有if(!username) username="Simaopig";
而在这之前有这么一句话即该语句的注释
//如果 username是null、undefined、0、""、或NaN,它将被转换为false
也就是说该语句指的是:
当!username==true,即username==false即username为上述任何一种情况时都给username一个新值"Simaopig"
2.
在关键字break和labelname(标签名)之间不允许有换行符 ,
因为JS很讲究,如果你在关键字break和其后的标签之间进行了换行,
那么JS就假定你要使用的是简单的,不带标签的break语句,就会为你自动加上一个分号。
这个原则是(
JavaScript会自动插入遗漏的分号 )
3.
continue不能用在do/while循环里 ,有bug存在,
避免方法是使用while替代do/while(貌似我很少用do/while循环),汗一个。。
4. 函数定义通常出现在JavaScript代码的顶层。它们也可以嵌套在其他函数的定义中,
但是只能嵌套在函数顶层定义中,也就是说,
函数定义不能出现在if语句,while循环,或其他任何语句中。
5. 判断一个数是否为数值型严谨的方法是:if((typeof a[i] != 'number') || isNaN(a[i]))
6. try从句可以在没有catch从句的情况下和finally从句一起使用
7. 空语句,即"
; ",一个分号,它什么也不做,但是在进行一个具有空主体的循环时,空语句是有用的。
例如:
<html>
<head>
<title>demo</title>
<script type='text/javascript'>
var o = {x:0,y:1,z:2};
var i = 0;
var arr = new Array();
for(arr[i++] in o) ;
for(i in arr)
{
document.write(arr[i++]);
}
</script>
</head>
<body>
</body>
</html>
刚开始就没看到for(arr[i++] in o)后面还有个空语句。导致程序执行不出来,注意啊,注意!小心啊,小心!
今天就这样,明天再看函数部分。新的收获源于新的起始。