日期:2014-05-16  浏览次数:20385 次

帮我解释一下代码var regAction = (function(){})()
JScript code

var regAction = (function(){
    var defaultOpts = {'regform':'regfrom',
        'username':'username',
        'userpwd':'userpwd',
        'confirmpwd':'confirmpwd',
        'checkcode':'checkcode',
        'accept':'accept',
        'errorTrips':'errorTrips',
        'channel':'channel'
    };

//以下省略N行代码
})()

 regAction.init({'regform': 'regform','username': 'email','errorTrips': 'erroInfo','userpwd': 'pwd','confirmpwd': 're-pwd','accept': 'chkaccpet','checkcode': 'checkcode'}); //初始化




var regAction = (function(){})()
regAction.init()

这两句是 JQuery的用法吗?或者是JavaScript的用法?是函数对象吗?初始化默认就是用init()?
解释一下是什么意思?

------解决方案--------------------
初始化默认就是用init()?
函数名可以自定义。。
var regAction = (function(){})()
这是闭包函数的用法。。建议看看资料
------解决方案--------------------
不是JQuery的用法,这是js基本封装用法,你可以把regAction理解为一个类,里面有一些类似defaultOpts={'regform':'regfrom','username':'username'...等这样的属性或者方法。
下面说这个regAction.init()
init这个应该是你//以下省略N行代码 中的一个方法吧
------解决方案--------------------
去查看里面定义的init这个函数吧
------解决方案--------------------
1.是js的基本用法,(function(){})() 这是一种匿名函数function(){},并且执行它()
2.defaultOpts是一个object,是一个json格式的object
3.初始化调用的是init方法,但是你的代码不全省掉了init函数的部分
------解决方案--------------------
JScript code
var regAction = (function(){
    var defaultOpts = {'regform':'regfrom',
        'username':'username',
        'userpwd':'userpwd',
        'confirmpwd':'confirmpwd',
        'checkcode':'checkcode',
        'accept':'accept',
        'errorTrips':'errorTrips',
        'channel':'channel'
    };

//以下省略N行代码
})()

------解决方案--------------------
1. var regAction = (function(){})() 匿名函数,不是什么jQuery的用法
2. 你省略的代码有个return, 你自己看下