2010-04-17 69 views
4

如何警告變量名稱,而不是變量的值?如何警告變量名稱,而不是值

var color = 'red'; 

alert(color); // Will alert 'red' 
alert(/* magic */); // Will alert 'color' 
+9

'alert(「color」);'? – kennytm 2010-04-17 19:42:47

+0

你的目標是什麼? – 2010-04-17 20:22:11

回答

5

這在JavaScript中是不可能的,因爲這種語言的參數是通過值或引用傳遞的,而不是通過名稱傳遞的,所以當變量傳遞給函數時,其名稱會丟失。

+0

除非它是一個函數聲明,在這種情況下,我們可以'toString'它;) – James 2010-04-17 20:42:42

+0

不總是:var foo = function(){alert(「foo」);}; alert(foo.toString());不會給你函數名稱。 – 2010-04-17 21:36:56

+0

那麼如何使用JavaScript編寫所有模板引擎? – 2010-04-19 04:28:56

2

在Firebug控制檯:

>>> a=[] 
[] 
>>> a 
[] 
>>> b=a 
[] 
>>> a.push(3) 
1 
>>> b 
[3] 
>>> a 
[3] 

所以,你會像數組返回的變量名? ab?完全不同的東西?

相關問題