首页 > Client看js sdk代码的一点困惑

Client看js sdk代码的一点困惑

最近项目需求,有一些需要使用h5,所以用到了js。自己不懂,有几个语法的问题。

jssdk[funcName] = (function(name){return xxx;})(funcName);

这个funcName有两个是什么意思?

(function(window){})(window)

window是参数吗?两个window是什么意思?


//funcName是一个变量名
// (function(name){return xxx;})(funcName);定义一个匿名函数表达式,然后用funcName作为参数立马调用
// 匿名函数的返回值为为jssdk[funcName]的属性值
//例如:var funcName="customer_name";
jssdk[funcName] = (function(name){return xxx;})(funcName);

//只是匿名函数的名称刚好和传入的参数名称相同了,
//(function(inputParam){})(window);一样的效果
(function(window){})(window)

window是参数,之所以这样写,是因为(function(window){})执行之后返回的还是一个function,而返回的function还需要一个window参数。

【热门文章】
【热门文章】