创建object所有基类对象
var p1=new Object();
p1.attr=‘obj‘;
属性
constructor对象构造函数
prototype类的prototype对象
var p1=new Object();p1.constructorp1.prototype.attr1i1=10#等于i1=new Number(10)
var i=new Number(10)给类添加方法Number.prototype.add=function(a){ return this+a;}window.alert(i.add(10).add(30));var b=90;alert(b.add(40));
var s=new Array(2)s[0]=‘a‘;s[1]=‘b‘;Array.prototype.finds=function(text) { for(var i=0;i<this.length;i++){ if(text==this[i]){ return i; } }return -1;}document.write(‘a:‘+ s.find(‘a‘)) 构造函数function 类名(obj1,obj2){ this.attr1=obj1; this.attr2=obj2;}var a=new 类名(obj,obj2)a.attr1(这个和python中的class类似)在初始化中,可以增加一个函数,如下function js(a,b,c){ return a+b+c;}下面是类的实现fuction Px(a1,b1,func){//func表示函数(js(a,b,c)) this.a=a1; this.b=b1; this.c=func;
}var a=px(a1,b1,func)a.func(a,b,c)进一步扩展创建对象的另一种形式如果一个对象比较简单,可以直接创建var a={attr:值,func:function(){txt};}a.attrvar dog={name:‘掌上电脑‘}doc.namedoc.func()//这个是函数 exrvar d={a:‘aa‘}function text(){ this.name}//这边打印显示未注册text()//==windows.text()text.call(d)//这样是d.text()的形式,call是调用的意思text()call(对象实例)。new text()这样调用,该函数this就是对象实例(反射) for in的方式循环列出的指定对象所有属性和方法for(ain obj) {a+obj[a]}
时间: 2024-10-06 20:32:23