日期:2014-05-16  浏览次数:20310 次

JavaScript的一些重要特性
<script language="javascript">
/*面向对象编程例子
对象继承通常有下面的5种方式:
   1.对象冒充
   2.call()方式
   3.apply()方式
   4.原型链
   5.混合方式
*/
var Person = function (name,age,sex){
	this.name = name;
	this.age = age;
	this.sex = sex;
	this.display = function(){
	return "I'm name is "+this.name+","+this.age+","+this.sex;
}
}
/*
Person.prototype.display = function(){
	return "I'm name is "+this.name+","+this.age+","+this.sex;
}*/
//子类继承Person父类
var MalePerson = function (name,age,sex){
	Person.call(this);
	this.name = name;
	this.age = age;
	this.sex = sex;
}
var person = new Person('alex',24,'male');
alert(person.display());
var maleperson = new MalePerson('lucy',18,'female');
alert(maleperson.display());

/*json数据格式例子
和XML一样,JSON也是基于纯文本的数据格式。由于它天生是为JavaScript等一些Script语言准备的,
因此其数据的格式非常简单,你可以用JSON传输一个简单的字符串、数字、布尔值、数组,或者一个
复杂的Object对象。String,Number 和 Boolean 用 JSON 表示非常简单。例如,用 JSON 表示一个
简单的 String “ abc ”,其格式为:“abc”。JSON还可以表示一个数组对象,使用[ ] 包含所有元素,
每个元素用逗号分隔,元素可以是任意类型.Object对象在JSON中是用{}包含一系列无序的Key-Value
键值对表示的,实际上此处的Object相当于Java中的Map<String, Object>,而不是Java的Class。
注意Key只能用String表示。
*/
var j = [ "abc", 123, false , null];
alert(j[2]);
var json1 = {"name":'alex',"age":24,"sex":'male'};
alert(json1.name+","+json1.age+","+json1.sex);
var json2 = { "name": "Samson" , "address":
              { "city" : "ShangHai" , "street" : "YiJiang Road", "postcode": 202014 }
}
alert(json2.address.city);
/*闭包例子
把闭包简单理解成"定义在一个函数内部的函数",闭包就是将函数内部和函数外部连接起来的一座桥梁.
闭包的作用:1.可以读取函数内部的变量 2.让这些变量的值始终保持在内存中。
*/
function f1(){
	var n=999;
  nAdd = function(){n+=1};
	function f2(){alert(n);}
  return f2;
}
var result=f1();
result(); // 999
nAdd();
result(); // 1000
</script>