JavaScript笔记--JSON与void

JSON是用于存储和传输数据的格式
JSON通常用于服务端向网页传递数据。
JSON:JavaScript Object Notation; 是一种轻量级的数据交换
格式。独立且易于理解。

 实例:

 {"sites":[
    {"name":"Runoob", "url":"www.runoob.com"}, 
    {"name":"Google", "url":"www.google.com"},
    {"name":"Taobao", "url":"www.taobao.com"}
]}

 JSON格式化后位JavaSript对象,在语法上与创建JavaScript对象代码是相同的。
由于它们很相似,所以JavaScript程序可以很容易的将JSON数据转换为JavaScript对象。

 JSON语法规则:
  1 数据为键/值对 2 数据由逗号分隔。  3 大括号保存对象。  4 方括号保存数组
  
 JSON数据- 一个名称对应一个值。 “name”:“Sunny” 

 JSON 对象
JSON 对象保存在大括号内。

就像在 JavaScript 中, 对象可以保存多个 键/值 对:

{"name":"baidu", "url":"www.baidu.com"};

JSON 数组
JSON 数组保存在中括号内。

就像在 JavaScript 中, 数组可以包含对象

JSON字符串转换为JavaScript对象
 通常我们从服务器中读取JSON数据,并在网页中显示数据。简单起见,我们在网页中
直接设置JSON字符串,首先,创建JavaScript字符串,字符串为JSON格式的数据:

  var text ='{ "sites" : [' +
'{ "name":"baidu" , "url":"www.baidu.com" },' +
'{ "name":"Google" , "url":"www.google.com" },' +
'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';

 然后,使用JavaScript内置函数JSON.parse()将字符串转为JavaScript对象:
 var obj = JSON.parse(text);
  最后在页面中使用新的JavaScript对象:
  实例:
   var text ='{ "sites" : [' +
'{ "name":"baidu" , "url":"www.baidu.com" },' +
'{ "name":"Google" , "url":"www.google.com" },' +
'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';
  obj = JSON.parse(text);
  document.getElementById("demo").innerHTML= obj.sites[1].name+“ ”+obj.sites[1].url;

注意:如果你希望obj.属性,必须将其JSON化,也就是JSON.parse(xx);

栗子如下:

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sunny</title>
</head>
<body>
​
<h2>为 JSON 字符串创建对象</h2>
<p id="demo"></p>
<script>
var text = '{ "sites" : [' +
    '{ "name":"baidu" , "url":"www.baidu.com" },' +
    '{ "name":"Google" , "url":"www.google.com" },' +
    '{ "name":"Taobao" , "url":"www.taobao.com" } ]}';
    
obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[1].url;
</script>
</body>
</html>

javascript:void(0)含义
  我们经常会使用到javascript:void(0),其中关键的是void,该操作符指定要计算一个
表达式但是不返回值。语法如下:

<head>
    <script type="text/javascript">
    <!--
     void  func()
     javascript:void func()
     或者
     void(func())
     javascript:void(func())
    //-->
    </script>
</head>  

栗子如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>JavaScript教程</title> 
<script type="text/javascript">
function getValue(){
   var a,b,c;
   a = void ( b = 5, c = 7 );
   document.write('a = ' + a + ' b = ' + b +' c = ' + c );
}
</script>
</head>
<body>
	
<p>点击以下按钮查看结果:</p>
<form>
<input type="button" value="点我" onclick="getValue();" />
</form>
</body>
</html>

href="#" 与href="javascript:void(0)"的区别
  #包含了一个位置信息,默认的锚是#top也就是网页的上端。而
javascript:void(0),仅仅表示一个死链接。 在页面很长的时候会使用#来定位
页面的具体位置,格式为#+id。如果你要定义一个死链接就使用javascript:void(0).

<a href="javascript:void(0);">点我没有反应的!</a>
<a href="#pos">点我定位到指定位置!</a>
<br>
...
<br>
<p id="pos">尾部定位点</p>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值