一段javascript脚本的解析 javascript 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (function(c){})(window):这样的写法 就是吧 自己定义的方法合并到window里 ,c是指window对象,调用的时候就想调用window自带的方法一样 , 就像(function($){})(jquery)把自己写的方法合并到jquery库一样。RSAKeyPair:并不是一个对象 ,只是给c定义的一个属性。c是指window对象。 c.RSAKeyPair = c.RSAKeyPair || g 是给属性赋值,第一次赋值时候把方法g赋值给该属性。 c.BigTools 这个 BigTools也应该是自定义的 。 (function(c) { function g(){ } c.RSAKeyPair = c.RSAKeyPair || g})(window);LZ理解一下这一段, . 这一段的意思是, 把window作为参数c传到匿名函数中进行执行. 那么走到c.RSAKeyPair = c.RSAKeyPair || g;这一段的时候, 实际上c就是window, 即执行的window.RSAKeyPair = window.RSAKeyPair || g;这一段执行完毕后, window.RSAKeyPair 指向了g这个类定义.所以你在外面new RSAKeyPair()的时候, 自然的指向了g()这种写法常见于各种扩展插件. 比如(function($){})(jQuery)这种写法. 很安全,比如: 在匿名函数内可以肆意使用$. 而不用管$是否被jquery让渡出去. 感觉楼上两个大哥说的,我听的似懂非懂,js真TM乱,难读。我把整个js复制到一个新建的html里面,然后加了2个alert 只会弹出1这是为什么呢。。麻烦再指教下function abc(){alert("1"); var c = new RSAKeyPair(b, "", d);alert("2"); return ptoken;} 你要把 其他的JS也引到新建的html中 , 之弹出1 说明报错了 。 其实我觉得 没必要用这样的方式写 。你可以先学一些简单的js. 小问题,就解答! 大伙来看看这个是怎么个原理? 按纽点击事件 我想实现这个 表格被单击颜色 改变的功能 怎样屏蔽掉键盘的f1,f2,f3,f4换成自己的定义的功能 模式窗口中怎么关闭父窗口? *********************我想在点击一个超链后弹出一个窗口,并且使用窗口的最大化按钮不可用,就问如何做?**** 菜问题 ExtJs4.2 panel 里面的grid高度不能自动适应 yield一个promised 目的是什么? 关于fancybox插件跟lazyload插件在谷歌下冲突的问题。回答就给分,谢谢。 求问如何为网页下多个DIV添加编辑框
RSAKeyPair:并不是一个对象 ,只是给c定义的一个属性。c是指window对象。 c.RSAKeyPair = c.RSAKeyPair || g 是给属性赋值,第一次赋值时候把方法g赋值给该属性。 c.BigTools 这个 BigTools也应该是自定义的 。
function g(){
} c.RSAKeyPair = c.RSAKeyPair || g
})(window);LZ理解一下这一段, . 这一段的意思是, 把window作为参数c传到匿名函数中进行执行.
那么走到c.RSAKeyPair = c.RSAKeyPair || g;这一段的时候, 实际上c就是window, 即执行的window.RSAKeyPair = window.RSAKeyPair || g;
这一段执行完毕后, window.RSAKeyPair 指向了g这个类定义.
所以你在外面new RSAKeyPair()的时候, 自然的指向了g()这种写法常见于各种扩展插件. 比如(function($){})(jQuery)这种写法. 很安全,比如: 在匿名函数内可以肆意使用$. 而不用管$是否被jquery让渡出去.
function abc(){
alert("1");
var c = new RSAKeyPair(b, "", d);
alert("2");
return ptoken;
}