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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章