在ColdFusion的,如果你想引用可以使用ColdFusion語法在JavaScript中引用參數嗎?
<cfargument name="x">
然後對你說:
arguments.x
在JavaScript中,如果你有一個函數:
var myFunction = function(x) {
那麼,有什麼辦法明確引用參數範圍可能如下:
arguments[0].x
或其他東西,以便您確定一切。
在ColdFusion的,如果你想引用可以使用ColdFusion語法在JavaScript中引用參數嗎?
<cfargument name="x">
然後對你說:
arguments.x
在JavaScript中,如果你有一個函數:
var myFunction = function(x) {
那麼,有什麼辦法明確引用參數範圍可能如下:
arguments[0].x
或其他東西,以便您確定一切。
有沒有辦法通過使用參數變量來實現相同的功能,因爲它擁有參數名的任何信息。爲了避免這種情況,您可以從使用多個參數切換到一個在其成員中保存實際參數值的複合參數對象。
<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);
我一直在研究JavaScript超過一年,不記得看到這個常見的成語。男人,我必須更多地擊中書籍! – 2012-03-23 18:30:52
那麼我會將它引用爲args [「x」]也許吧? – 2012-03-23 18:33:39
@Pointy,爲什麼不直接引用即'arguments [0]'? – Henry 2012-03-23 18:36:20
恐怕不是。你可以明確地使用x
或arguments[0]
但沒有更多。除非像其他人指出的那樣,你傳遞一個對象。
哦,我喜歡它。嘿!我可以使用:arguments [0] .params.x? – 2012-03-23 19:03:56
你知道彼得,那是一個非常好的解釋。 – 2012-03-23 19:05:57
Pedro:arguments [0] .x會按照我寫的方式工作 – 2012-03-23 19:18:45