您的位置:首页 > Web前端 > JavaScript

javascript 复习笔记----注意事项总结

2015-01-12 00:24 295 查看
v永远不要测试某个特定的浮点数值


if(a+b==0.3){//不要做这样的测试!alert("Yougot0.3.");}


v保存浮点数值需要的内存空间是保存整数值的两倍,因此ECMAScript会不失时机地将浮点数值转换为整数值

v按位非操作(~)的本质:操作数的负值减1。

varnum1=25;

varnum2=-num1-1;

alert(num2);//"-26"

v函数声明与函数表达式:

alert(sum(10,10));functionsum(num1,num2){

returnnum1+num2;}//声明式正确


alert(sum(10,10));varsum=function(num1,num2){

returnnum1+num2;};//函数表达式,执行错误!!!“unexpectedidentifier”(意外标识符)错误


v扩充函数作用域:

window.color="red";

varo={color:"blue"};

functionsayColor(){

alert(this.color);

}

sayColor();//red

sayColor.call(this);//red

sayColor.call(window);//red

sayColor.call(o);//blue


v标准递归函数写法:

1.非严格模式

functionfactorial(num){

if(num<=1){

return1;

}else{

returnnum*arguments.callee(num-1);//严格模式下,不能通过脚本访问arguments.callee

}

}


2.严格模式||非严格模式

varfactorial=(functionf(num){

if(num<=1){

return1;

}else{

returnnum*f(num-1);

}

});


v模拟作块级作用域(通常称为私有作用域)的匿名函数的语法如下所示:

(function(){

//这里是块级作用域

})();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: