存储在变量中的函数?Javascript

存储在变量中的函数?Javascript,javascript,Javascript,有人能解释一下javascript中的符号是什么吗?函数(d)在做什么?在这个程序中,下面的函数调用了x,但我不知道这是什么意思。先谢谢你 x = function(d) { return d.x * width / mx; }; // later.... x({x: .9}); // call 这叫做匿名函数。该函数将{x:number}形式的对象作为参数,并对number进行一些计算 .9是传递给函数的对象(d)的属性x的值 在函数中,d={x:9}(object),现在当您请求d的属

有人能解释一下javascript中的符号是什么吗?函数(d)在做什么?在这个程序中,下面的函数调用了x,但我不知道这是什么意思。先谢谢你

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

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

这叫做匿名函数。该函数将{x:number}形式的对象作为参数,并对number进行一些计算

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

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

所以d.x返回0.9

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

匿名函数是在 运行时。它们被称为匿名函数,因为它们没有给定 与普通函数相同的名称

匿名函数是使用函数运算符声明的。你可以 使用函数运算符在任何有效的位置创建新函数 表达。例如,您可以将一个新函数声明为 一个函数调用的参数或另一个函数调用的属性 反对

function运算符返回对所调用函数的引用 刚刚创建的。然后可以将函数分配给变量,并传递 作为参数或从另一个函数返回。这是可能的 因为函数是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");
     };


顺便说一下,这是我能找到的最好的解释

语法无效,最后一行缺少
。关于函数语法,请看一下MDN:。好的,但是您能解释一下上面是如何调用该方法的吗?参数对x.9做了什么?谢谢@在第一个示例中,EswarRajeshPinapala不需要第二个分号。9是传递到函数中的对象(d)的属性。在函数中,d={x:9}(object),现在当您请求d的名为x的属性(使用点表示法)时,它返回属性x。所以d.x返回0.9@Mageek感谢mate,本应为第二个示例中的语句放置。编辑并解释。-1:
.9
不是任何对象的属性。这是一个与
0.9
相同的数字文本
.9
是对象的属性
x
的值。