存储在变量中的函数?使用Javascript

Apo*_*llo 4 javascript

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

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

// later....
 x({x: .9}); // call
Run Code Online (Sandbox Code Playgroud)

Esw*_*ala 7

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

在函数中,d = {x:9}(对象),现在当你要求d属性(x)值(使用DOT表示法)时,它返回属性x的值.

所以dx返回0.9!

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

匿名函数是在运行时动态声明的函数.它们被称为匿名函数,因为它们没有像普通函数那样被赋予名称.

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

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

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

 function eatCake(){
     alert("So delicious and moist");
 }
 eatCake();
Run Code Online (Sandbox Code Playgroud)

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

 var eatCakeAnon = function(){
     alert("So delicious and moist");
 };
 eatCakeAnon();
Run Code Online (Sandbox Code Playgroud)

在第二个函数的结束括号后看到分号?}; 您在声明后使用分号.这是一个声明:

var eatCakeAnon = function(){
         alert("So delicious and moist");
     };
Run Code Online (Sandbox Code Playgroud)

资源

PS Best解释我能找到的!