JavaScript數(shù)組、json對(duì)象、eval()函數(shù)用法實(shí)例分析
本文實(shí)例講述了JavaScript數(shù)組、json對(duì)象、eval()函數(shù)用法。分享給大家供大家參考,具體如下:
一、JavaScript中的數(shù)組
數(shù)組使用[]、new Array()或new Array(count)進(jìn)行創(chuàng)建
創(chuàng)建數(shù)組之后我們可以對(duì)其靜態(tài)初始化,也可以對(duì)其動(dòng)態(tài)賦值
數(shù)組的常用屬性:length
數(shù)組的常用方法:toString()、join()、reverse()、push()、pop()
<script type="text/javascript">
//靜態(tài)初始化
var myArray = [1,2,3,45,67];
//獲取數(shù)組中的個(gè)數(shù)
alert("myArray.length="+myArray.length);
for(var i=0;i<myArray.length;i++){
alert("myArray["+i+"]="+myArray[i]);
}
//動(dòng)態(tài)初始化
//動(dòng)態(tài)分配5個(gè)內(nèi)存空間,手動(dòng)賦值之前,系統(tǒng)默認(rèn)值為undefined
myArray = new Array(5);
for(var i=0;i<myArray.length;i++){
alert("myArray["+i+"]="+myArray[i]);
}
//對(duì)數(shù)組中的元素賦值
myArray[0]=true;
myArray[1]=1;
myArray[2]="guoguo";
myArray[3]= new Object();
myArray[4]= new Object();
myArray[5]= new Object();//雖然聲明的時(shí)候數(shù)組長(zhǎng)度為5,但實(shí)際上可以存儲(chǔ)更多的內(nèi)容
for(var i=0;i<myArray.length;i++){
alert("myArray["+i+"]="+myArray[i]);
}
//數(shù)組中的常用方法
var myArray = [1,"abc",true,4.5,16];
//toString()方法會(huì)用英文逗號(hào)把數(shù)組中的元素連接成字符串
alert("myArray.toString()="+myArray.toString());//myArray.toString()=1,abc,true,4.5,16
//join方法,以特殊符號(hào)連接數(shù)組中的每一個(gè)元素,最后生成一個(gè)字符串
var str = myArray.join("-");
alert("str="+str);//str=1-abc-true-4.5-16
//反轉(zhuǎn)數(shù)組中的元素
myArray.reverse();
str = myArray.join("-");
alert("str="+str);//str=16-4.5-true-abc-1
//pop()返回?cái)?shù)組最右邊的元素,并將其刪除
var elt = myArray.pop();
alert("elt="+elt+",myArray.length="+myArray.length);//elt=1,myArray.length=4
//push()將元素添加到數(shù)組最右邊
//push()和pop()模擬的是棧結(jié)構(gòu),最后入棧的先出棧
myArray.push("end");
str = myArray.join("-");
alert("str="+str);//str=16-4.5-true-abc-end
</script>
二、JavaScript中的json對(duì)象
json對(duì)象使用{}進(jìn)行創(chuàng)建,通常用在不同的語言之間進(jìn)行數(shù)據(jù)交換,它是一種輕量級(jí)的數(shù)據(jù)傳輸格式
java可以在后臺(tái)拼接json字符串,并將json字符串發(fā)送給瀏覽器,瀏覽器可以解析json格式的字符串,這樣java和javascript就完成了數(shù)據(jù)傳輸
<script type="text/javascript">
//創(chuàng)建json對(duì)象
var user ={userCode:101,
uerName:"guoguo",
address:"瓦力瓦力"};
alert("user.userCode="+user.userCode);//user.userCode=101
alert("user.uerName="+user.uerName);//user.uerName=guoguo
alert("user.address="+user.address);//user.address=瓦力瓦力
//數(shù)組中的元素可以是json對(duì)象
var userArray = [{userCode:101,
uerName:"guoguo",
address:"瓦力瓦力"},
{userCode:102,
uerName:"haha",
address:"咕嚕咕嚕"}
];
alert("userArray[1].userCode="+userArray[1].userCode);
alert("userArray[1].uerName="+userArray[1].uerName);
alert("userArray[1].address="+userArray[1].address);
</script>
三、JavaScript中的eval()函數(shù)
JS中eval()函數(shù)的作用是將普通字符串當(dāng)做js代碼來解釋執(zhí)行。
<script type="text/javascript">
var str = "var i=10;";
//eval函數(shù)的作用:將普通字符串當(dāng)做js代碼解釋執(zhí)行
window.eval(str);
alert("i="+i);//i=10
//eval可以把json字符串轉(zhuǎn)換成json對(duì)象,缺點(diǎn):json變量的名稱不可變
var jsonStr = "var jsonObject = {userCode:'101',userName:'guoguo',age:'16'}";
window.eval(jsonStr);
alert("jsonObject.userCode="+jsonObject.userCode);//jsonObject.userCode=101
alert("jsonObject.userName="+jsonObject.userName);//jsonObject.userName=guoguo
alert("jsonObject.age="+jsonObject.age);//jsonObject.age=16
//eval可以把json字符串轉(zhuǎn)換成json對(duì)象,json變量的名稱可自定義
jsonStr = "{userCode:'102',userName:'haha',age:'16'}";
//注意:eval()函數(shù)所需的參數(shù)必須是"({......})"格式
var obj = eval("("+jsonStr+")");
alert("obj.userCode="+obj.userCode);//obj.userCode=102
alert("obj.userName="+obj.userName);//obj.userName=haha
alert("obj.age="+obj.age);//obj.age=16
</script>
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線工具供大家參考使用:
在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript中json操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS中注入eval, Function等系統(tǒng)函數(shù)截獲動(dòng)態(tài)代碼
- angularjs中的$eval方法詳解
- js eval函數(shù)使用,js對(duì)象和字符串互轉(zhuǎn)實(shí)例
- JavaScript制作簡(jiǎn)易計(jì)算器(不用eval)
- js中的eval()函數(shù)把含有轉(zhuǎn)義字符的字符串轉(zhuǎn)換成Object對(duì)象的方法
- AngularJs $parse、$eval和$observe、$watch詳解
- 關(guān)于動(dòng)態(tài)執(zhí)行代碼(js的Eval)實(shí)例詳解
- javascript中JSON.parse()與eval()解析json的區(qū)別
- JS eval代碼快速解密實(shí)例解析
相關(guān)文章
JavaScript中創(chuàng)建對(duì)象的7種模式詳解
本文主要介紹了JavaScript中創(chuàng)建對(duì)象的7種模式,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02
JavaScript圖片旋轉(zhuǎn)效果實(shí)現(xiàn)方法詳解
這篇文章主要介紹了JavaScript圖片旋轉(zhuǎn)效果實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
JS實(shí)現(xiàn)讓網(wǎng)頁背景圖片斜向移動(dòng)的方法
這篇文章主要介紹了JS實(shí)現(xiàn)讓網(wǎng)頁背景圖片斜向移動(dòng)的方法,涉及javascript操作背景圖片特效的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
JS中的Replace方法使用經(jīng)驗(yàn)分享
本文給大家分享的是我們?cè)谑褂胘avascript中的replace方法的時(shí)候需要注意的一個(gè)事項(xiàng),我就是沒有注意到,才被這個(gè)bug煩了好久,這里記錄下來,有需要的小伙伴可以參考下。2015-05-05
JavaScript模擬實(shí)現(xiàn)繼承的方法
這篇文章主要介紹了JavaScript模擬實(shí)現(xiàn)繼承的方法,實(shí)例分析了javascript類的操作與模擬實(shí)現(xiàn)繼承的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03

