在JavaScript中,eval()
接受一個字符串並執行它爲JavaScript代碼,例如,的JavaScript構建相當於eval()函數
eval("alert('I am parsed as JavaScript code.');");
我比eval()
感興趣的是建在那裏,其他的,可能會被使用出於同樣的目的。我知道eval()
是邪惡的。這是爲了教育目的。
到目前爲止,我已經發現了三個這樣的構造:
的
Function
構造:var f = new Function("alert('I am also parsed as JavaScript code.');"); f();
的
setTimeout()
功能:setTimeout("alert('So am I.');", 0);
的
setInterval()
功能:setInterval("alert('Me too!');", 0);
是可以用來實現這一行爲有其他結構?如果是,哪些?如果否,有什麼好的證據來證實這一說法?
這些「結構」在內部使用eval,這就是爲什麼他們不應該這樣使用。 – adeneo
@ A1rPun是的,這是教育。事實上,我想知道我應該警惕哪種結構。 –
你讓我想知道:) +1 – A1rPun