Javascript函数语法需要解释

时间:2011-06-04 06:51:23

标签: javascript

return this.foo("abc",function(){
                           //do something
                      });

有人可以告诉我上面这行是做什么的吗? 感谢

5 个答案:

答案 0 :(得分:1)

它调用this.foo引用的函数并传递两个参数:string "abc"和匿名function function(){ //do something}。然后return结果。

相当于:

var a = "abc";
var b = function(){ 
    //do something
};
return this.foo(a, b);

Functions是JS中的第一类对象,因此您可以像传递任何其他值一样传递它们。


我建议您查看MDC JavaScript guide

答案 1 :(得分:1)

  1. 它抓取对this的引用,可能是DOM窗口,DOM元素或任何其他JavaScript对象,具体取决于上述代码的运行方式和位置。
  2. 它(向前跳过)准备一个Function的新匿名//does something
  3. 它尝试在对象foo上调用方法this,传入两个参数"abc"并说匿名Function
  4. 当你看到传递匿名函数的代码(例如function(){ ... })时,它实际上是持有该函数,以便不是立即执行它,而是在稍后的某个时间执行它,例如响应点击事件或计时器。

答案 2 :(得分:0)

看起来像this.foo()是一个返回一些东西的函数。所以返回值是this.foo()返回的内容。

答案 3 :(得分:0)

调用一个实例方法,该方法将字符串和函数作为参数获取。

答案 4 :(得分:0)

它将返回(是的,就像它是英文)函数this.foo(...)的返回结果(以最简单的形式,函数this.foo(...)返回“某事”然后代码将返回“东西“)。函数this.foo("abc", function(){...});本身就是一个接收2个参数的函数:字符串“abc”和函数()。函数this.foo会做一些事情,并返回主函数返回的“东西”。 [X]