; obj.name = 'mr lan' obj.showName = function() { alert('my name =' + this.name) } obj.showQQ = function() { alert('my qq =' + this.qq) } obj.showName() obj.showQQ() </script>
封装重复使用的方法;
<script type="text/javascript"> function createPerson(name, qq) {//构造函数 构建出一个对象; var obj = new Object(); obj.qq = qq; obj.name = name obj.showName = function() { alert('my name =' + this.name) } obj.showQQ = function() { alert('my qq =' + this.qq) } //出厂 return obj } var obj = createPerson('Mr Lan','1079161148'); var obj2 = createPerson('Mr Li','1079161168'); obj.showName(); obj.showQQ(); </script>
//升级------->构造函数调用加new
<script type="text/javascript"> function createPerson(name, qq) { //构造函数 构建出一个对象; this.qq = qq; this.name = name this.showName = function() { alert('my name =' + this.name) } this.showQQ = function() { alert('my qq =' + this.qq) } } var obj = new createPerson('Mr Lan', '1079161148'); var obj2 = new createPerson('Mr Li', '1079161168'); obj.showName() obj.showQQ()
alert(obj.showName()==obj2.showName()) //false
</script>
//进阶面向对象编程
<script type="text/javascript"> //混合构造函数混合方式(构造函数配合原型) function createPerson(name, qq) { //构造函数加属性 this.qq = qq; this.name = name } createPerson.prototype.showName = function(){//原型加方法 alert('my name =' + this.name) } createPerson.prototype.showQQ = function(){ alert('my qq =' + this.qq) } var obj = new createPerson('Mr Lan', '1079161148'); var obj2 = new createPerson('Mr Li', '1079161168'); //obj.showName() //还可以继续用不影响使用 //obj.showQQ() alert(obj.showName()==obj2.showName())//true </script>