1. 程式人生 > >JavaScrip學習筆記(下)

JavaScrip學習筆記(下)

JavaScrip(下)

  • 物件
    可查閱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());
     	//大括號封裝實體,鍵值對;鍵值對間用逗號隔開