溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在JavaScript中使用json對象和eval()函數(shù)

發(fā)布時間:2021-05-12 17:05:39 來源:億速云 閱讀:215 作者:Leah 欄目:web開發(fā)

本篇文章為大家展示了如何在JavaScript中使用json對象和eval()函數(shù),內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

一、JavaScript中的數(shù)組

數(shù)組使用[]、new Array()new Array(count)進行創(chuàng)建

創(chuàng)建數(shù)組之后我們可以對其靜態(tài)初始化,也可以對其動態(tài)賦值

數(shù)組的常用屬性:length

數(shù)組的常用方法:toString()、join()、reverse()、push()、pop()

<script type="text/javascript">
  //靜態(tài)初始化
  var myArray = [1,2,3,45,67];
  //獲取數(shù)組中的個數(shù)
  alert("myArray.length="+myArray.length);
  for(var i=0;i<myArray.length;i++){
    alert("myArray["+i+"]="+myArray[i]);
  }
  //動態(tài)初始化
  //動態(tài)分配5個內(nèi)存空間,手動賦值之前,系統(tǒng)默認值為undefined
  myArray = new Array(5);
  for(var i=0;i<myArray.length;i++){
    alert("myArray["+i+"]="+myArray[i]);
  }
  //對數(shù)組中的元素賦值
  myArray[0]=true;
  myArray[1]=1;
  myArray[2]="guoguo";
  myArray[3]= new Object();
  myArray[4]= new Object();
  myArray[5]= new Object();//雖然聲明的時候數(shù)組長度為5,但實際上可以存儲更多的內(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()方法會用英文逗號把數(shù)組中的元素連接成字符串
  alert("myArray.toString()="+myArray.toString());//myArray.toString()=1,abc,true,4.5,16
  //join方法,以特殊符號連接數(shù)組中的每一個元素,最后生成一個字符串
  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()返回數(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對象

json對象使用{}進行創(chuàng)建,通常用在不同的語言之間進行數(shù)據(jù)交換,它是一種輕量級的數(shù)據(jù)傳輸格式

java可以在后臺拼接json字符串,并將json字符串發(fā)送給瀏覽器,瀏覽器可以解析json格式的字符串,這樣java和javascript就完成了數(shù)據(jù)傳輸

<script type="text/javascript">
  //創(chuàng)建json對象
  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對象
  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ù)的作用是將普通字符串當做js代碼來解釋執(zhí)行。

<script type="text/javascript">
  var str = "var i=10;";
  //eval函數(shù)的作用:將普通字符串當做js代碼解釋執(zhí)行
  window.eval(str);
  alert("i="+i);//i=10
  //eval可以把json字符串轉(zhuǎn)換成json對象,缺點: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對象,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>

JavaScript的特點

1.JavaScript主要用來向HTML頁面添加交互行為。 2.JavaScript可以直接嵌入到HTML頁面,但寫成單獨的js文件有利于結(jié)構(gòu)和行為的分離。 3.JavaScript具有跨平臺特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺下運行。

上述內(nèi)容就是如何在JavaScript中使用json對象和eval()函數(shù),你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI