如何在 JavaScript 函式中傳遞物件作為引數?
在本教程中,我們將學習如何在 JavaScript 函式 中傳遞物件作為引數。
JavaScript 的資料型別之一由 物件型別 表示。它用於儲存鍵控集合以及更復雜的實體。可以使用 Object() 函式或物件初始化器/字面量語法來建立物件。
幾乎所有 JavaScript 物件都是 Object 的例項;一個典型的物件繼承自 Object.prototype 的屬性(包括方法),儘管這些屬性可能會被隱藏(也稱為覆蓋)。
以下是用於在 JavaScript 函式中傳遞物件作為引數的方法。
使用字面量物件表示法
這非常簡單。您只需將用 ':' 分隔的鍵值對放在一對花括號 () 中,您的物件就可以使用了。
我們可以將物件傳遞給 JavaScript 函式,但引數的名稱必須與物件屬性名稱相同。
語法
function areaOfRectangle({ l,b }) {
return l * b;
}
let rectangle = {
l: 22,
b: 10
};
areaOfRectangle(rectangle);
矩形物件接收矩形的長和寬作為輸入,當此物件作為引數傳遞給 areaofRectangle() 函式時,計算其面積。
示例
在這個示例中,使用字面量物件表示法建立了 rectangle 物件。矩形的長和寬傳遞到此物件中。我們建立 areaOfRectangle() 函式來計算矩形的面積。呼叫此函式,並將矩形物件傳遞給它。
<html> <body> <p id="result"></p> <script> let output = document.getElementById("result"); // define a function function areaOfRectangle({l, b}) { return (l * b); } // define an object let rectangle = {l: 77, b: 21 }; // Call the function passing the object to fucntion as parameter. let area = areaOfRectangle(rectangle); output.innerHTML = "Area of rectangle : " + area + "<br>"; </script> </body> </html>
使用 this 和原型
與其他語言相比,JavaScript 函式中的“this”關鍵字的行為略有不同。它還區分嚴格模式和非嚴格模式。
此值通常由函式的呼叫方式(執行時繫結)決定。它不能在執行期間設定,並且每次呼叫函式時都可能不同。bind() 方法可以更改函式的 this 值,無論它如何被呼叫,箭頭函式沒有它們的繫結(它保留封閉詞法上下文的 this 值)。
JavaScript 物件透過使用原型相互繼承特性。本文將解釋原型、原型鏈的工作原理以及如何為物件設定原型。
語法
var func = function(param1) {
this.param1 = param1;
};
func.prototype.display = function() {
return this.param1;
};
函式 func() 接受引數 param,該引數傳遞給 display 函式以顯示其值。
示例
在示例中,我們在變數 res 中建立了一個物件。此變數使用引數 11.98 呼叫函式 func()。要建立物件,請將 new 關鍵字與 Object() 函式結合使用,然後向此物件新增屬性。此函式將引數作為物件傳遞,並幫助使用 display() 函式顯示它。
<html> <body> <script> var func = function(param1) { this.param1 = param1; }; func.prototype.display = function() { return this.param1; }; function display(val) { document.write(val()); } var res = new func(11.98); display(res.display.bind(res)); </script> </body> </html>
在本教程中,我們學習了兩種在 JavaScript 函式中傳遞物件作為引數的技術。第一種技術是使用一個物件,其引數的名稱必須與物件屬性名稱相同。第二種技術是使用“this”函式和原型方法。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP