javascript的函數
2024-09-06 12:43:35
供稿:網友
作者:F. Permadi
譯者:Sheneyan(子烏)
時間:2006.01.03
英文原文: INTRODUCTION TO JavaScript Functions
中文譯文(包括示例):javascript的函數
子烏注:一篇相當不錯的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:
函數:定義
有以下這些方法可以定義一個函數。所有這些都是有效的,但是它們在后臺如何實現的則有一些差別。
一般大家都用這個寫法來定義一個函數:
[Copy to clipboard]CODE:
functionName([parameters]){functionBody};
Example D1:
[Copy to clipboard]CODE:
function add(a, b)
{
return a+b;
}
alert(add(1,2)); // 結果 3
當我們這么定義函數的時候,函數內容會被編譯(但不會立即執行,除非我們去調用它)。而且,也許你不知道,當這個函數創建的時候有一個同名的對象也被創建。就我們的例子來說,我們現在有一個對象叫做“add”(要更深入了解,看底下函數:對象節。)
我們也可以通過指派一個變量名給匿名函數的方式來定義它。
Example D2
[Copy to clipboard]CODE:
var add=function(a, b)
{
return a+b;
}
alert(add(1,2)); // 結果 3
這個代碼和前一個例子做了同樣的事情。也許語法看起來比較奇怪,但它應該更能讓你感覺到函數是一個對象,而且我們只是為這個對指派了一個名稱。可以把它看做和 var myVar=[1,2,3]一樣的語句。以這種方式聲明的函數內容也一樣會被編譯。