我只是試圖讓這裏看到更好的理解/函數參數 在功能確認:函數的參數以及它們是如何工作
function newFunction(data, status){
將功能特別適用於數據和狀態變量?
我不太明白這些論點是如何工作的。
我只是試圖讓這裏看到更好的理解/函數參數 在功能確認:函數的參數以及它們是如何工作
function newFunction(data, status){
將功能特別適用於數據和狀態變量?
我不太明白這些論點是如何工作的。
基本場景
當定義了一個函數,該()
區域用於輸入。這些輸入被映射到在被髮送的數據。
function newFunction(data, status){
}
newFunction(1,2);
在這種情況下,data
將被分配的1
的值,並status
將爲的newFunction
範圍被分配的2
值。
Missmatched輸入
然而,它並不總是直接映射。如果發送的參數較少,則未分配的輸入變量將變爲undefined
。
function newFunction(data, status){
}
newFunction(1);
在這種情況下,data
將被分配的1
的值,並status
將爲的newFunction
範圍被分配的undefined
值。
參數對象
內部的newFunction
範圍,也有訪問像稱爲arguments
對象陣列。
function newFunction(data, status)
{
var args = arguments;
}
newFunction(1);
在這種情況下,變量args
將舉行arguments
對象。在那裏你可以檢查args.length
看到只有1個參數被髮送。 args[0]
會給你這個參數值,在這種情況下是1
。
功能對象
的函數可以被製成與new
關鍵字的對象。通過在函數上使用new
關鍵字,可以創建一個Function對象。一旦函數對象被創建,this
可能被用來引用當前的函數對象而不是全局窗口。
function newFunction(data,status){
if(this instanceof newFunction){
//use as a Function object
this.data = data;
}else{
//use as a normal function
}
}
var myNewFunction = new newFunction(1);
在這種情況下,myNewFunction
現在持有的功能對象的引用,並且可以作爲通過點標記或索引的對象進行訪問。 myNewFunction["data"]
和myNewFunction.data
現在無論是持有1
這意味着功能接受都data
和status
參數。程序員調用功能可按(你)需要調用函數時提供的參數
讓我們看一個簡單的例子(也稱爲參數):
function add(x, y) {
return x + y;
}
函數這裏有兩個數字,將它們加在一起,然後返回結果。現在,作爲程序員,您可以隨時添加兩個數字,而無需複製功能,或者在需要應用程序執行相同功能時複製/粘貼。
最重要的是,您使用的另一位程序員可以一起添加兩個數字,而不用擔心如何操作,他們可以調用您的函數。
編輯:調用函數的工作原理如下
var num1 = 10;
var num2 = 15;
var z = add(num1, num2); //z = 25
......或者它應該這樣做。它不必如果它不想! –
@RobertGrenier所以這些變量是在這裏創建的,目前尚未定義? –
@pst所以基本上這個步驟只是創建一個變量,然後我可以在函數內使用/定義它,是的? –
function newFunction(data, status){ ... function code ... }
這是一個名爲newFunction函數的定義的Javascript的價值。 您可以將參數傳遞給函數。這些變量是數字或字符串,函數應該用來執行某些操作。 當然,函數行爲/輸出取決於你給它的參數。
我認爲你需要更多的上下文..沒有jQuery的在你的問題,但JavaScript函數的工作就像子程序大多數編程語言做。 –
這聽起來像更多的一般編程問題。沒有什麼特別的JavaScript或jQuery在這裏... – elclanrs
@elclanrs它更像是一個「沒有讀過教程/書」的情況..(但不是,這不是一般的編程,因爲這是非常基本的,然後有一些JavaScript-具體的規則超出了任何形式的「統一」的功能應用操作本身可以有很大的不同) – 2013-01-08 23:42:33