簡體   English   中英

使用JavaScript函數傳遞變量

[英]Passing variable with JavaScript function

我試圖通過下面的GetDetail函數傳遞變量。 我可以傳遞字符串/數字,並且可以正常工作。

但是我無法傳遞變量

detLink.onclick = new Function ("GetDetails()");
detLink.setAttribute('onclick',"javascript:GetDetails()")
detLink.onclick = function () { GetDetails ( parameter1, parameter2, ... );  }

這是一個匿名函數

另請閱讀函數表達式 (函數運算符)

函數表達式類似於並且具有與函數聲明相同的語法

function [name]([param] [, param] [..., param]) {
   statements
}

name函數名稱。 可以省略,在這種情況下,該功能稱為匿名功能。

param要傳遞給函數的參數名稱。 一個函數最多可包含255個參數。

語句組成函數主體的語句。

detLink.setAttribute('onclick',"javascript:GetDetails("+yourVariableName+")")

當您設置屬性時,您正在使用字符串數據類型,因此必須使用變量VALUE縫制函數名稱

如果您在設置點擊處理程序時可以訪問相關變量,

detLink.onclick = function() { 
  GetDetails(foo); 
}

如果沒有

detLink.id = uniqueId;
detLink.onclick = function() {
  var foo = globalData[this.id];
  GetDetails(foo);
}

// somewhere else in your code, where you know the value of the variable
globalData[detLink.id] = foo;
var val1 = "Hell world"
detLink.onclick = GetDetails( val1 );

function GetDetails( myVar ){
   alert ( myVar );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM