你的位置:首页 > Java教程

[Java教程]形如(function(){}).call()的js语句


研究新浪微博的自动登陆流程,其中涉及到它的加密算法脚本,其中有一段如下形式的代码:

(function(){...}).call(name)

其中红色的....是函数的内部各种实现,name为一个对象的名字.这种形式的js从来没见过啊(恕我js这方面见识少啊).然后百度了一下大概的意义如下:

.call(name)的作用实际是将name作为前面函数所在域中的this来用,也就是说此时函数中的this就相当于引用的是name.

这段代码的实际意义可以认为:函数的具体实现对变量name的进行的改造,或者更简单的说函数的实现就是变量name的具体实现,某种意义上它等价于:

var name = function(){...}