在javascript中的对象与原型模式

在javascript中的对象

第一种是直接创建一个新的空对象,然后通过对象给它的属性赋值

用分号隔开

<script>
    /*创建一个新的对象,然后赋值*/
    var person = new Object();
    person.name  = "张三"
    person.pwd = 123;
    person.age = 23;
    person.show = function shownName(){
        alert(this.name)
    }
    person.show();
第二种是直接用字面量赋值的方式来进行创建,其中用逗号隔开
    /*第二种创建方式*/
    var person = {
        name:"张三"
        pwd:123,
        age:23,
        show: function showName(){            alert( this. name)        }    }    person. show() </ script>

数组Array 的concat()

构造函数

/*构造函数*/
function Person( name ,age ,pwd){
    this.name = name;
    this.age = age ;
    this.pwd = pwd;
    this.show= function showInfo(){
        document.write(this.name+"<br/>"+this.age+"<br/>"+this.pwd)
    }
}
var person = new Person("jing",23,"12345")
person.show();
var person1 = new Person("jing",23,"12345")
person1.show();

 

Constructor比较上下级关系(严格

alert(person.constructor==Person)              true

alert(person.constructor==Object)              false

instanceof 比较上下级关系

alert( person. instanceof==Person)               true

alert( person. instanceof==Object)               true

 

原型模式生产prototype(实现数据的共享)

<script>
    /*实现数据的共享,不用模型的话,每个对象都是新的实例对象,
    但有了原型模式以后,每个对象都是共享的同一个原型对象*/
    function Person(){
    }
    Person.prototype.name = "张三"
    Person.prototype.age = 23
    Person.prototype.pwd = "12345"
    Person.prototype.show = function (){
        /*这两种写法都是一样的*/
       /* alert(this.name)*/
        alert(Person.prototype.name)
    }
    var person = new Person();
    person.show();
    var person1 = new Person()
    person1.show();
 
    //这里提示值是true,说明他们共享的是同一个对象
    alert(person.show==person1.show)
</script>

猜你喜欢

转载自blog.csdn.net/golden_soft/article/details/80535883
今日推荐