javaScript对象及初始面向对象
1:内置对象 例:Date String Array 类等...
2:自定义对象
方法1:var newObj=new Object(); //创建对象 newObj.name="xxx";//添加属性并赋值 newObj.method=function(){JS代码} //添加方法
方法2:var newObj={name:"",sex:"",method:function(){JS代码}}
3:构造函数:
语法:function Person(name,sex){this.name=name;this.sex=sex;this.method=function(){js代码}} 也可以不传参直接赋值
4:判断对象是否属于某个类对象
语法:dog.constructor==Dog;//狗实例的构造函数就是Dog构造函数|| dog instanceOf Dog;//true || dog instanceOf Objcet;//true
小结:new Object和字面量定义的对象都是object类型 而构造函数 的对象的源类型是function
注意: JavaScript 没有java中方法重载的概念,后面定义的同名方法,会覆盖前面的同名方法
5.原型对象
每个对象都含有一个prototype属性,prototype就是这个对象的原型对象;
用处:a:继承 b:添加属性 & 方法
☆☆☆☆☆☆:继承的应用:对象B.prototype=对象A 从而让B含有A的所有属性和方法 后续B的操作不影响A 但是A的prototype属性操作影响B
原型对象小结:相当于java的组合使用,并不等同于继承extends 就是说B instanceOf A 返回false | B.prototype instanceOf A 返回true
☆☆☆☆☆☆:创建子类对象时,想给继承于父类的属性赋值时,使用父类.call(this,属性1,属性2); //类似于java的super(属性1,属性2);
6.语法结构:
a: for in 例:for(str in person){alert ;/(str)} 拿出对象person身上所有的属性
b: with结构 例:with(person){alert(name+age+sex)} 拿出对象person身上属性对应的值.