0
我在寫一個字符串解析器,它接受像「{x} + 20」這樣的輸入,並計算x的詞法值爲20並返回。所以需要Javascript中的詞法上下文
var x = 10;
var new = eval("{x} + 20".replace("/\{(\w+\}/g", "$1"));
這裏的「新」應該等於30
如何才能做到這一點?
我在寫一個字符串解析器,它接受像「{x} + 20」這樣的輸入,並計算x的詞法值爲20並返回。所以需要Javascript中的詞法上下文
var x = 10;
var new = eval("{x} + 20".replace("/\{(\w+\}/g", "$1"));
這裏的「新」應該等於30
如何才能做到這一點?
我相信你只是這樣做:
var x = 10
var y = eval("x + 20")
沒有?
PS「新」是一個保留關鍵字,所以如果你得到錯誤,它可能與此有關。 – 2010-09-17 18:58:39
此外,他正在餵養替換一個字符串,而不是一個'RegExp'對象,即使這樣正則表達式是無效的(缺少一個'')'') – MooGoo 2010-09-17 19:00:24