eval函式接收乙個引數s,如果s不是字串,則直接返回s。否則執行s語句。如果s語句執行結果是乙個值,則返回
此值,否則返回undefined。
需要特別注意的是物件宣告語法「{}」並不能返回乙個值,需要用括號括起來才會返回值,簡單示例如下:
var code1='"a" + 2'; //表示式
var code2=''; //語句
alert(eval(code1)); //->'a2'
alert(eval(code2)); //->undefined
alert(eval('(' + code2 + ')')); //->[object object]
可以看到,對於物件宣告語句來說,僅僅是執行,並不能返回值。為了返回常用的「{}」這樣的物件宣告語句,必
須用括號括住,以將其轉換為表示式,才能返回其值。這也是使用json來進行ajax開發的基本原理之一。
在例子中可以清楚的看到,
第二個alert語句輸出的是undefined,
而第三個加了括號後輸出的是語句表示的物件。
JavaScript中的this詳解
this屬於js的底層知識,了解this之後,能夠實現一些基本的功能,但是感覺最重要的是,this是物件導向必不可少的組成部分,如果希望能夠逐漸的掌握物件導向,this必然是不可少的。檢視this指向的一句話法則 永遠指向其所在函式的所有者如果沒有所有者時,指向window。理解this的要點 關鍵...
JavaScript中的setInterval用法
setinterval function,interval arg1,arg2,argn setinterval object,methodname,interval arg1,arg2,argn 第一種格式是標準動作面板中setinterval函式的預設語法,第二種格式是在專家模式動作中使用的方法...
JavaScript中的陣列
陣列 引數 返回值原陣列是否改變 1 向陣列尾部新增push 引數可以是乙個或多個 返回值是新增後陣列的長度 原陣列改變 2 刪除陣列的最後一項pop 沒有引數 返回值是刪除的那個數 原陣列改變 3 向陣列的頭部新增unshift 引數可以是乙個或多個 返回值是新增後陣列的長度 原陣列改變 4 刪除...