實際上,在input節點裡面輸入的值都是String,那直接用以下變數代替
這是一個字串,我們需要將其轉換成一條JS表示式才能執行,因此可以使用eval方法
eval方法是window物件的一個方法,可以單獨使用也可以透過window.eval來使用
另外,eval方法接受一個字串作為引數,eval會將這個字串作為JS語句來執行。
在non-strict模式下可以訪問當eval方法內解析之後的變數,在strict模式下無法訪問,會報RefferenceError的錯誤
因此對於四則運算來說,也是同樣的道理。將其轉換成JS語句,然後就會自動進行四則運算
window.eval("5 + 8 * 9 / 2 - 3 + 7 * 2") // 52
說多一點,eval方法當做學習的一個知識點是可以的。當時千萬不要在實際專案中使用eval語句,因為它有可能造成XSS攻擊,讓攻擊者在你的網站隨意執行js程式碼是很危險的事情
實際上,在input節點裡面輸入的值都是String,那直接用以下變數代替
這是一個字串,我們需要將其轉換成一條JS表示式才能執行,因此可以使用eval方法
eval方法是window物件的一個方法,可以單獨使用也可以透過window.eval來使用
另外,eval方法接受一個字串作為引數,eval會將這個字串作為JS語句來執行。
在non-strict模式下可以訪問當eval方法內解析之後的變數,在strict模式下無法訪問,會報RefferenceError的錯誤
因此對於四則運算來說,也是同樣的道理。將其轉換成JS語句,然後就會自動進行四則運算
window.eval("5 + 8 * 9 / 2 - 3 + 7 * 2") // 52
說多一點,eval方法當做學習的一個知識點是可以的。當時千萬不要在實際專案中使用eval語句,因為它有可能造成XSS攻擊,讓攻擊者在你的網站隨意執行js程式碼是很危險的事情