`
opensuse
  • 浏览: 183802 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

寻找《JavaScript权威指南》1,语句

阅读更多
刚刚学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)后面还有个空语句。导致程序执行不出来,注意啊,注意!小心啊,小心!   
 
 今天就这样,明天再看函数部分。新的收获源于新的起始。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics