最近在学习Javascript的时候,遇到一些不太熟悉的点,就此做个小回顾,免得又贻笑大方。
有点不太习惯JS的for循环。主要是由于JS的for语句创建的变量,即使在for循环结束之后,依然会寻在于循环的外部环境中。
1 for(i=0;i<10;i++){ 2 /* 3 一大堆大妈 4 */ 5 } 6 alert(i); 7 /* 8 出来的结果是i为10 9 */
JS方法的参数,JS并不关心传入多少个参数,所以经常看见一些参数不匹配的函数,导致有些误解。由于这个特性,JS并不具有重载。不过可以略微笨笨地模仿重载。
1 function helloWow(){ 2 if(arguments.length==1){ 3 /* 4 一堆大妈 5 */ 6 } else if(arguments.length==2){ 7 /* 8 一堆大姨妈 9 */ 10 } 11 } 12 helloWow(1); 13 helloWow(1,2);
alert由于需要接受字符串参数,所以会在后台调用toString()方法。
迭代方法:数组项的值、该项在数组的位置、数组对象本身
Item index array
every( ); 每一项都true 回 true
some( ); 某一项为true 回 true
filter( ); 返回ture的项组成的数组
map( ); 返回结果组成的数组
foreach( ); 没有返回值
xxx.xxx(function(item, index, array ){ return xxxx; });
+Date.now()
最好new一个 var date = new Date();再用date做处理。
不支持的浏览器,可以使用+操作符把Date对象转换成字符串,也可以返回日期和时间的毫秒数。
日期格式化方法推荐: .toUTCString( )
javascript foreach 是javascript1.6引入的新语法,IE6及firefox2以下版本的浏览器无法执行.