Javascript笔记 – Javascript中的JSON和对象
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
</head>
<body>
<script>
var TstObj = {
init: function(TstStr){
document.write(TstStr);
}
}
//xmbook.init();
</script>
JSON格式的函数调用
<input id="Submit1" type="submit" value="submit" οnclick="return TstObj.init('ddddd')" />
</body>
</html>
JSON是Javascript中对象的字面值,是对象的表示方法。Javascript对象其实就是一个属性的集合。
1、对象的属性:
对象的属性是有键值对组成的,其中key为一个字符串,value可以为任何的Javascript对象。
//使用[]设置和获取对象的属性 var obj = new Object(); obj["www.itzhai.com"] = "http://www.itzhai.com"; alert(obj["www.itzhai.com"]);
2、变量即是属性:
Javascript引擎在初始化时会构建一个全局对象,所有的变量都是这个全局对象的属性。为了引用这个全局对象,可以再顶级作用域中这样获取:
var global = this;
在Javascript中,任何独立的函数或者变量都属于这个对象的属性,即:
function test(){}
相当于:
window.test = function(){}
3、使用对象:
声明对象的三种方式:
① 通过new操作符创建一个Object对象,然后动态地添加属性,从无到有构造一个对象
② 定义对象的类原型,然后使用new操作符来批量构造新的对象
//创建一个对象 function User(username, password){ this.username = username; this.password = password; this.getUsername = function(){ return this.username; } this.getPassword = function(){ return this.password; } } var arthinking = new User("Jason", "123"); alert(arthinking.getUsername()); alert(arthinking.getPassword());
③ 使用JSON构造对象
JSON即Javascript对象表示方法(Javascript Object Notation),也就是通过字面量来表示一个对象:
//JSON形式创建一个对象 var arthinking = { username : "Jason", password : "123", favorite : { sports : "football", music : "Guitar" } } alert(arthinking.username); alert(arthinking.favorite.sports);
使用JSON的优点:
这种写法比较简洁,大多数有经验的Javascript程序员都更倾向于这种写法,jQuery、ExtJS都大量使用了JSON。
JSON格式数据本身是可以递归的,可以表达任意复杂的数据类型。
JSON的写法很简单:用花括号括起来的键值对,键值对通过冒号隔开,值可以是任意的Javascript对象。
作为一种前端和服务器端数据交换的格式,前端通过AJAX发送JSOn对象到服务器,服务器端通过脚本对JSON进行解析,还原成服务器端的对象,进行处理,然后在通过JSON数据形式返回给客户端信息。这样使用同一种数据格式,可以降低出错率。
使用JSON数据作为函数的返回值:
JSON的另一个应用场景是当一个函数拥有多个返回值时,可以不用按照传统面向对象编程那样返回对象,而是直接返回JSON格式的数据即可。
//使用JSON作为函数的返回值 function position(left, top){ this.left = left; this.top = top; return { left : this.left, top : this.top }; } alert(position(10, 10));
可以这样逐个循环获取JSON中的数据:
var json = position(10, 10); for(var key in json){ alert(key +" : " + json[key]); }
除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接: http://www.itzhai.com/javascript-notes-javascript-in-json-and-object.html
本文链接: http://www.itzhai.com/javascript-notes-javascript-in-json-and-object.html