繁体   English   中英

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

[英]Functions stored in variables? Javascript

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

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

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

.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();

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

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

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

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

资源

PS Best解释我能找到的!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM