关键时刻,一毛钱也能难死英雄汉!编程中有些细节问题也会让你浪费很多时间。
今天看别人的代码的时候,看到了这样一种写法:
省略号代表部分代码。
开始时我没看明白这事什么意思,经一个js大虾网友点拨后才明白,这只是一种js对象编程的代码简化。
例如:
运行后,_i的值是5。你可以把上面的这段代码这样写:
当方法代参数的情况下呢?
例如:
此时_i的值仍然是5。这个时候需要对add函数进行定义后才能使用;可别把代码简化成这样:
呵呵!不过,你可以这样写:
或者
但是你实际编程的时候可别这样写,呵呵!
这个时候赋给_i的都是函数运行后的结果。
我们也可以赋给它一个对象,这次我们换一个写法:
这个时候_i就是一个对象,而add是它的一个函数属性,是这个对象的一部分,_i.add(2,3)的返回值仍然是5。
这种编程表达方式的好处就是声明和定义同步,节省代码量,例如:
上面程序运行后,弹出返回值4。
有些八卦,不过希望能对你的js编程有所帮助!
今天看别人的代码的时候,看到了这样一种写法:
var a = function(){......}();
省略号代表部分代码。
开始时我没看明白这事什么意思,经一个js大虾网友点拨后才明白,这只是一种js对象编程的代码简化。
例如:
add = function(){
return 2+3;
}
var _i = add();
运行后,_i的值是5。你可以把上面的这段代码这样写:
var _i = function(){return 2+3;}();
当方法代参数的情况下呢?
例如:
add = function(a,b){
return a+b;
}
var _i = add(2,3);
此时_i的值仍然是5。这个时候需要对add函数进行定义后才能使用;可别把代码简化成这样:
var _i = function(2,3){return a+b;}();
呵呵!不过,你可以这样写:
var _i = function(){return add(2,5);}();
或者
var _i = function(){return new Function("return add(2,5);")}()();
但是你实际编程的时候可别这样写,呵呵!
这个时候赋给_i的都是函数运行后的结果。
我们也可以赋给它一个对象,这次我们换一个写法:
var _i = function(){
return {add:function(a,b){return a+b;}};
}();
alert(_i.add(2,3));
这个时候_i就是一个对象,而add是它的一个函数属性,是这个对象的一部分,_i.add(2,3)的返回值仍然是5。
这种编程表达方式的好处就是声明和定义同步,节省代码量,例如:
var _i = function(){
return {
add:function(a,b){return a+b;},
minus:function(){return _i.add(2,3)-1;}
};
}();
alert(_i.minus()));
上面程序运行后,弹出返回值4。
有些八卦,不过希望能对你的js编程有所帮助!