2010-09-17 33 views
0

我在寫一個字符串解析器,它接受像「{x} + 20」這樣的輸入,並計算x的詞法值爲20並返回。所以需要Javascript中的詞法上下文

var x = 10; 
var new = eval("{x} + 20".replace("/\{(\w+\}/g", "$1")); 

這裏的「新」應該等於30

如何才能做到這一點?

回答

1

我相信你只是這樣做:

var x = 10 
var y = eval("x + 20") 

沒有?

+0

PS「新」是一個保留關鍵字,所以如果你得到錯誤,它可能與此有關。 – 2010-09-17 18:58:39

+0

此外,他正在餵養替換一個字符串,而不是一個'RegExp'對象,即使這樣正則表達式是無效的(缺少一個'')'') – MooGoo 2010-09-17 19:00:24

相關問題