JavaScript零基础入门--笔记动力节点最新老杜(九-完结)全套笔记精髓

JSON 

                 1、什么是JSON,有什么用?
                    JavaScript Object Notation(JavaScript对象标记),简称JSON。(数据交换格式)
                    JSON主要的作用是:一种标准的数据交换格式。(目前非常流行,90%以上的系统,系统A与系统B交换数据的话,都是采用JSON。)
                2、JSON是一种标准的轻量级的数据交换格式。特点是:
                    体积小,易解析。
                3、在实际的开发中有两种数据交换格式,使用最多,其一是JSON,另一个是XML。
                    XML体积较大,解析麻烦,但是有其优点是:语法严谨。(通常银行相关的系统之间进行数据交换的话会使用XML。)
                4、JSON的语法格式:
                    var jsonObj = {
                        "属性名" : 属性值,
                        "属性名" : 属性值,
                        "属性名" : 属性值,
                        "属性名" : 属性值,
                        ....
                    };

<body>
    <script type="text/javascript">
        // 创建JSON对象(JSON也可以称为无类型对象。轻量级,轻巧。体积小。易解析。)
        var studentObj = {
            "sno":"110",
            "sname":"张三",
            "sex":"男"
        };

        // 访问JSON对象的属性
        alert(studentObj.sno + "," + studentObj.sname + "," + studentObj.sex)

        // 之前没有使用JSON的时候,定义类,创建对象,访问对象的属性.
        Student = function(sno,sname,sex){
            this.sno = sno;
            this.sname = sname;
            this.sex = sex;
        }
        var stu = new Student("111","李四","男");
        alert(stu.sno + "," + stu.sname + "," + stu.sex);

        // JSON数组
        var students = [
            {"sno":"120","sname":"zhangshang","sex":"男"},
            {"sno":"120","sname":"李四","sex":"男"},
            {"sno":"130","sname":"王五","sex":"男"}
        ];
        // 遍历,逐一输出
        for (var i = 0; i < students.length; i++) {
            var stuObj = students[i]
            alert(stuObj.sno + "," + stuObj.sname + "," + stuObj.sex);
        }
    </script>
</body>

 


复杂一些的JSON对象

<body>
    <script type="text/javascript">
        var user = {
            "usercode" : 110,
            "username" : "张三",
            "sex" : true,
            "address" : {
                "city" : "北京",
                "street" : "大兴区",
                "zipcode" : "12212121",
            },
            "aihao" : ["smoke","drink","tt"]
        };

        // 访问人名以及居住的城市
        alert(user.username + "居住在" + user.address.city);

    </script>
</body>

 请自行设计JSON格式的数据,这个JSON格式的数据可以描述
        整个班级中每一个学生的信息,以及总人数信息。

<body>
    <script type="text/javascript">
		var jsonData = {
		    //这个班3个人,信息如下
		    "total":3,
            "students":[
                {"name":"zhangsan","birth":"1980-10-20"},
                {"name":"lisi","birth":"1981-10-20"},
                {"name":"wangwu","birth":"1982-10-20"}
            ]
        };
    </script>
</body>

            JSON是一种行业内的数据交换格式标准。
            JSON在JS中以JS对象的形式存在。

<body>
    <script type="text/javascript">
		/*eval函数的作用是:将字符串当做一段JS代码解释并执行。*/
        window.eval("var i = 100")
        alert("i = "+ i)
    </script>
</body>

 java连接数据库,查询数据之后,将数据在java程序中拼接成JSON格式的“字符串”,将json格式的字符串响应到浏览器

 也就是说java响应到浏览器上的仅仅是一个"JSON格式的字符串",还不是一个json对象.

 可以使用eval函数,将json格式的字符串转换成json对象.

那儿是字符串拼接

<body>
    <script type="text/javascript">
        //这是java程序给发过来的json格式的"字符串"
        var fromJava = "{\"name\":\"zhangsan\",\"password\":\"123\"}"
        // 将以上的json格式的字符串转换成json对象
        window.eval("var jsonObj = " + fromJava)
        //访问json对象, 在前端取数据.
        alert(jsonObj.name + "," + jsonObj.password)
    </script>
</body>

 

这样也行 

 

 

面试题:
   在JS当中:[]和{}有什么区别?
      [] 是数组。
      {} 是JSON。

   java中的数组:int[] arr = {1,2,3,4,5};
   JS中的数组:var arr = [1,2,null,"zhangshan",NaN];
   JSON:var jsonObj = {"email" : "zhangsan@123.com","age":25};

<body>
    <script type="text/javascript">
        var json = {
            "username":"zhanshan"
        }
        // JS中访问json对象的属性
        alert(json.username)
        //或者
        alert(json["username"])
    </script>
</body>

 设置table的tbody

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        span{
             color: red;
             font-size: medium;
         }
    </style>
</head>
<body>
    <script type="text/javascript">
        // 有这些json数据
        var data = {
            "total" : 4,
            "emps" : [
                {"empno":7369,"ename":"SMITH","sal":800.0},
                {"empno":7361,"ename":"SMITH2","sal":1800.0},
                {"empno":7360,"ename":"SMITH3","sal":2800.0},
                {"empno":7362,"ename":"SMITH4","sal":3800.0}
            ]
        }
        // 希望把数据展示到table当中
        window.onload = function () {
            document.getElementById('displayBtn').onclick = function () {
                var emps = data.emps;
                var html = ""
                for (var i = 0; i < emps.length; i++) {
                    var emp = emps[i]
                    html += "<tr>"
                    html += "<td>"+emp.empno+"</td>"
                    html += "<td>"+emp.ename+"</td>"
                    html += "<td>"+emp.sal+"</td>"
                    html += "</tr>"
                }
                document.getElementById('emptbody').innerHTML = html
                document.getElementById('count').innerText = data.total
            }
        }

    </script>

    <input type="button" value="显示员工信息列表" id="displayBtn" />
    <h2>员工信息列表</h2>
    <hr>
    <table border="1px" width="50%">
        <tr>
            <th>员工编号</th>
            <th>员工名字</th>
            <th>员工薪资</th>
        </tr>
       <!-- 这里要用tbody,它里面可以包含很多tr-->
        <tbody id="emptbody">

        </tbody>
    </table>
    总共<span id="count">0</span>条数

</body>
</html>

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>省市级联,目前就是讲思路</title>
	</head>
	
	
	<script>
		
	
		//真正开发不会这样准备数据,现在是讲思路
		var dates={
			'-1':[new Option("====请选择====","-1")],
			'hn':[new Option("长沙","cs"),new Option("岳阳","yy"),new Option("邵阳","sy")],
			'hb':[new Option("黄冈","hg"),new Option("武汉","wh")],
			'gd':[new Option("深圳","sz"),new Option("广州","gz"),new Option("东莞","dg")]
			
			
		};
			
			
		function checkprovince(){
			//1.获取省
			var  province =document.getElementById("province");
			
			//2.获取选择的 option  value 值
			var value = province.value;
			
			//3.通过value 去得到值
			var  citys =dates[value];
			
			//4.获取city
			var city=document.getElementById("city");

			//如果有问题,必需加这一句
			city.options.length=0;
			//5.循环citys
			for(var i in citys){
				//console.log(citys[i]);
				city.options[i]=citys[i];
			}
			
			
		}
	</script>
	
	<body>
			
		省:
		<select id="province" onchange="checkprovince()">
			<option value="-1">====请选择====</option>
			<option value="hn">湖南</option>
			<option value="hb">湖北</option>
			<option value="gd">广东</option>
		</select>
		
		市 :
		<select id="city">
			<option value="-1">====请选择====</option>
		</select>
	</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值