JavaScrip學習筆記(下)
阿新 • • 發佈:2018-11-05
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()); //大括號封裝實體,鍵值對;鍵值對間用逗號隔開