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

来源:互联网 发布:数据统计用什么软件 编辑:程序博客网 时间:2024/05/22 12:43
v 永远不要测试某个特定的浮点数值

 

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

 

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

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

                  var num1 = 25;                 var num2 = -num1 - 1;                  alert(num2); // "-26"

函数声明与函数表达式

alert(sum(10,10));function sum(num1,num2){
return num1 + num2;} //声明式 正确
 
alert(sum(10,10));var sum = function(num1, num2){
return num1 + num2;};//函数表达式,执行错误!!!“unexpected identifier”(意外标识符)错误

 

扩充函数作用域:

window.color = "red";
var o = { color: "blue" };
function sayColor(){
  alert(this.color);
}
sayColor(); //red
sayColor.call(this); //red
sayColor.call(window); //red
sayColor.call(o); //blue

 

标准递归函数写法:

1.非严格模式

function factorial(num){
if (num <= 1){
return 1;
} else {
return num * arguments.callee(num-1);//严格模式下,不能通过脚本访问arguments.callee
}
}

 

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

var factorial = (function f(num){
if (num <= 1){
return 1;
} else {
return num * f(num-1);
}
});

 

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

(function(){
//这里是块级作用域
})();
0 0
原创粉丝点击