一.js基礎(chǔ)
1.eval是做什么的?
eval()是javascriptd的一個(gè)函數(shù)忽你,它的功能是把對應(yīng)的字符串解析成JS代碼并運(yùn)行幼东;應(yīng)該避免使用eval臂容,不安全科雳,非常耗性能(2次,一次解析成js語句脓杉,一次執(zhí)行)糟秘。?由JSON字符串轉(zhuǎn)換為JSON對象的時(shí)候可以用eval,var obj =eval('('+ str +')');
提示:雖然 eval() 的功能非常強(qiáng)大球散,但在實(shí)際使用中用到它的情況并不多尿赚。所以關(guān)于面試的知識(shí)點(diǎn),記住上面加粗部分就好蕉堰,如果想了解它的具體用法可以一下內(nèi)容凌净。
語法:eval(string),返回值是傳入string的計(jì)算結(jié)果(如果結(jié)果存在)
注意:該方法只接受原始字符串作為參數(shù),如果 string 參數(shù)不是原始字符串屋讶,那么該方法將不作任何改變地返回冰寻。
例子一:
<script type="text/javascript">
????eval("x=10;y=20;document.write(x*y)");
????document.write(eval("2+2"));
????var x=10;
????document.write(eval(x+17));
</script>
輸出:200,4,27
例子二:
<script type="text/javascript">
????eval("2+3")? ?// 返回 5
? ? ?var myeval = eval; // 可能會(huì)拋出 EvalError 異常
? ? ?myeval("2+3"); // 可能會(huì)拋出 EvalError 異常
2.什么是window對象??什么是document對象?
window對象是指瀏覽器打開的窗口。window是瀏覽器的內(nèi)置對象皿渗,與global全局對象用法斩芭、作用都一樣。
document對象是Document對象(HTML 文檔對象)的一個(gè)只讀引用乐疆,window對象的一個(gè)屬性划乖。