JavaScript 提供許多能在執行期間可以直譯程式碼的各種方式,稱為程式計值。除了知道實際應用的場餅,例如壓縮或轉換,也要知道其帶有安全性上的風險跟處理,而處理過後又如何執行等等。而先從基本的幾個計值的方式開始學習。
var ninja = eval("({name: 'Ninja'})");
var fn = eval("(function(){return 'Ninja';})");
var add = new Function("a", "b", "return a + b;");
add(3, 8); //11
計時器 setTimeout / setInterval 除了使用 callbacl 之外,還可以把字串當作程式把計值。
var tick = window.setTimeout("console.log('hello')", 100)
(function(){
eval("var test = 5;");
})();
console.log(test === 5); //true
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval