4

有人可以解释一下这个符号在javascript中是什么吗?函数(d)在做什么?在这个程序中,似乎 x 被以下调用,但我不知道这意味着什么。提前致谢...

x = function(d) { return d.x * width / mx; };

// later....
 x({x: .9}); // call
4

2 回答 2

7

.9 是传递给函数的 object(d) 的属性 x 的值。

在函数 d = {x:9}(object) 中,现在当您请求 d 的 property(x) 值(使用 DOT 表示法)时,它会返回属性 x 的值。

所以 dx 返回 0.9!

所以你会问我如何首先将属性的值传递给函数-X,这就是我们在 dis this -> x(objectBeingSent); 时所做的。其中 objectBeingSent 是 {x: .9}。

匿名函数是在运行时动态声明的函数。它们被称为匿名函数,因为它们的名称与普通函数不同。

匿名函数使用函数运算符声明。您可以使用函数运算符在任何可以放置表达式的地方创建新函数。例如,您可以将新函数声明为函数调用的参数或分配另一个对象的属性。

函数运算符返回对刚刚创建的函数的引用。然后可以将函数分配给变量,作为参数传递或从另一个函数返回。这是可能的,因为函数是 javascript 中的第一类对象。

这是一个使用函数语句以常规方式声明函数的示例:

 function eatCake(){
     alert("So delicious and moist");
 }
 eatCake();

这是一个使用函数运算符动态声明相同函数的示例:

 var eatCakeAnon = function(){
     alert("So delicious and moist");
 };
 eatCakeAnon();

看到第二个函数的右括号后的分号了吗?}; 您在语句后使用分号。这是一个声明:

var eatCakeAnon = function(){
         alert("So delicious and moist");
     };

来源

PS我能找到的最好的解释!

于 2012-06-27T20:03:31.583 回答
1

它被称为匿名函数。该函数将 {x: number }形式的对象作为参数,并对number进行一些数学运算。

于 2012-06-27T20:03:20.190 回答