英文原文: INTRODUCTION TO JavaScript Functions
子乌注:一篇相当不错的function入门文章,小我私家感受相当经典。
词语翻译列表 function:函数(Function未翻译) declare:界说 assign:指派,分派 functionbody:函数体(就是函数的内容) object:工具 property:属性 unnamed:匿名(在这里没翻译成未定名) object oriented programming:面相对相编程 class:类(好比后头的class data type我翻译成类数据范例) pointer:指针 reassign:从头分派 nest:嵌套 feature:成果,特性 local/global:局部/全局 blueprint:蓝图(?) user defined:用户自界说 instance:实例 prototype:原型(除了标题都不翻译) internal:内部 constructor:结构器 duplication:复制函数:界说
有以下这些要领可以界说一个函数。所有这些都是有效的,可是它们在靠山如何实现的则有一些不同。
常用的写法一般各人都用这个写法来界说一个函数:
functionName([parameters]){functionBody};
Example D1:
Language:javascript, parsed in: 0.005 seconds, using GeSHi 1.0.7.12
function add(a, b)
{
return a+b;
}
alert(add(1,2)); // 功效 3
当我们这么界说函数的时候,函数内容会被编译(但不会当即执行,除非我们去挪用它)。并且,也许你不知道,当这个函数建设的时候有一个同名的工具也被建设。就我们的例子来说,我们此刻有一个工具叫做“add”(要更深入相识,看底下节。)
匿名函数我们也可以通过指派一个变量名给匿名函数的方法来界说它。
Example D2
Language:javascript, parsed in: 0.006 seconds, using GeSHi 1.0.7.12
var add=function(a, b)
{
return a+b;
}
alert(add(1,2)); // 功效 3
这个代码和前一个例子做了同样的工作。也许语法看起来较量奇怪,但它应该更能让你感受到函数是一个工具,并且我们只是为这个对指派了一个名称。可以把它看做和var myVar=[1,2,3]一样的语句。以这种方法声明的函数内容也一样会被编译。
当我们指派一个这样的函数的时候,我们并不必然要求必需是匿名函数。在这里,我作了和ExampleD2一样的工作,但我加了函数名“theAdd”,并且我可以通过挪用函数名可能是谁人变量来引用函数。
Example D2A
Language:javascript, parsed in: 0.008 seconds, using GeSHi 1.0.7.12
var add=function theAdd(a, b)
{
return a+b;
}
alert(add(1,2)); // 功效 3
alert(theAdd(1,2)); // 功效也是 3
利用这种方法来界说函数在面向工具编程中是很有用的,因为我们能像底下这样使一个函数成为一个工具的属性。
Language:javascript, parsed in: 0.005 seconds, using GeSHi 1.0.7.12
var myObject=new Object();
myObject.add=function(a,b){return a+b};
// myObject 此刻有一个叫做“add”的属性(或要领)
// 并且我可以或许象下面这样利用它
myObject.add(1, 2);
new
我们也可以或许通过利用运算符new来界说一个函数。
这是一个最少见的界说函数的方法而且并不推荐利用这种方法除非有非凡的来由(大概的来由见下)。语法如下:
varName=new Function([param1Name, param2Name,...paramNName], functionBody);
Example D3:
Language:javascript, parsed in: 0.004 seconds, using GeSHi 1.0.7.12