JavaScript學習筆記(下)

JavaScript(下)

  • 對象
    可查閱JScript文檔作爲JavaScrip對象參考,兩者差不多

如:String對象

var str ="abc";
var str = new String("abc");
  • Prototype 原型屬性
    用prototype屬性提供對象的類的一組基本功能。對象的新實例“繼承”賦予該對象原型的操作。
    例:要爲Array對象添加返回數組中最大元素值的方法。要完成這一點,聲明該函數,將它加入Array.prototype,並使用它。
function array_max(){
	var i,max=this[0];
	for(i=1;i<this.length;i++){
	if(max<this[i])
		max = this[i];
		}
		return max;
}
Array.prototype.max = array_max;(也可使用匿名函數)
var x =new Array(1,2,3,4);
var y = x.max();
//this爲對本類對象的引用
  • JS特有語句-with
    格式:
    with(對象)
    {
    	在該區域中可以直接使用指定對象的內容,不需要寫 對象.
    }
  • 特有語句-for in
    格式:
    for(變量 in 對象)//對自定義對象或數組對象進行遍歷的語句
    {
    }
 例
    var arr = [23,34,45];
		for(i in arr){
			document.write(i);	//0,1,2
		}
  • JS自定義對象
    如果想要自定義對象,應該先對對象進行描述,但js是基於對象,不是面向對象的,不具備描述事物的能力。
    我們還想按照面向對象的思想編寫js,就要先描述
    在js中,可以用函數來模擬面向對象中的描述
    例:
    //用js來描述人
    function Person()	//相當於構造器
    {
    	alert("person run");
    }
	//通過描述進行對象的建立。new
	var p = new Person();
	//動態給p對象添加屬性。直接使用p.屬性名即可
	p.name="zhangsan";
	p.age=29;
	//如果定義的p對象的屬性賦值爲一個函數,即是給p對象添加一個方法
	p.show = function(){
			alert("show:"+this.name+":"+"this.age);
		}

只要new一個對象,可隨時向對象動態添加屬性

  • 第二種方式
    function Person(name,age){
    	this.name=name;
    	this.age=age;
		this.setName=function(name){
			this.name=name;
			}
		this.getName = function(){
			return this.name;
			}
    	}
    var p =new Person("旺財",20);
  • 第三種方式

     var person = {
     	//定義一些成員
     	"name":"小明", "age"=12,
     	"getName":function(){
     		return this.name;
     		}
     	}
     	alert(pp.age+":"+pp.getName());
     	alert(pp["age"]+":"+pp.getName());
     	//大括號封裝實體,鍵值對;鍵值對間用逗號隔開
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章