javascript使用八卦

本文介绍了一种在JavaScript中简化对象编程的方法,通过立即执行函数表达式的方式,实现了声明与定义同步的效果,节省了代码量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键时刻,一毛钱也能难死英雄汉!编程中有些细节问题也会让你浪费很多时间。


今天看别人的代码的时候,看到了这样一种写法:

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编程有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值