簡體   English   中英

可以使用ColdFusion語法在JavaScript中引用參數嗎?

[英]Can arguments be referenced in JavaScript using ColdFusion syntax?

在ColdFusion中,如果要參考

<cfargument name="x">

然后你說:

arguments.x

在JavaScript中,如果您有一個函數:

var myFunction = function(x) {

然后,有沒有辦法像下面這樣顯式引用參數范圍:

arguments[0].x

或其他東西,以便您確定所有范圍。

通過使用arguments變量無法實現相同的功能,因為它不包含有關參數名稱的信息。 為了避免這種情況,您可以從使用多個參數切換到一個在其成員中保留實際參數值的復合參數對象。

<script>
   function abc(params) {
    var x = params.x;
     var y = params["y"];
  }

   abc( { x: 10, y: "hello" });
</script>

但是,這樣一來,您將失去函數簽名處的代碼的某些可讀性,此外,您還必須在調用方提供參數名稱。

您可以引用arguments偽變量,但是參數是按數字而不是按名稱索引的。 避免直接弄亂arguments是個好主意。 一個常見的習慣用法是將其轉換為實數組:

var args = Array.slice.call(arguments, 0);

恐怕不是。 您可以顯式使用xarguments[0]但僅此而已。 除非別人指出,否則您將傳遞對象。

暫無
暫無

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

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