【JavaScript】JavaScript的对象-构造方法与this关键字

构造方法和this关键字
*为一个对象实例新增加的属性和方法,
不会增加到同一个对象所产生的其他对象
实例上。
<script language="javascript">
    function Person()//构造函数
    {
        
    }
    var person1=new Person();
    person1.age=18;
    person1.name="Tom";
    function sayFunc()
    {
       alert(person1.name+":"+person1["age"]); 
    }
    person1.say=sayFunc;
    person1.say();


    var person2=new Person();
    alert(person2.age);
</script>

显示结果:Tom:18、undefined。说明person2当中根本不存在age成员属性。
这是由于我们在调用person2的age成员之前,并没有为person2对象实例
创建名为"age"的成员变量。


*所有的实例对象在创建后都会自动调用
构造函数,在构造函数中增加的属性和方法
会被增加到每个对象实例上。


*对象实例使用new关键字创建的,在构造
方法中不要有返回结果的return语句。

*调用对象的成员方法时,需要使用"对象实例.成员方法"的
形式,很显然,用作成员方法的函数被调用时,一定伴随着
有某个对象实例。this关键字代表某个成员方法执行时,引用
该方法的当前对象实例,所以,this关键字一般只在用作对象
成员方法的函数中出现。

例如:

<script language="javascript">
    function Person(name,age)
    {
        this.age=age;
        this.name=name;
        this.say=sayFunc;
    }
    function sayFunc()
    {
        alert(this.name+"."+this.age);
    }
    var person1=new Person("张三",18);
    person1.say();
    var person2=new Person("李四",20);
    person2.say();
</script>
转载请注明出处:http://blog.csdn.net/acmman/article/details/43908755
上一篇:Bootstrap实战 - 评论列表


下一篇:[异常解决] Keil安装好nRF51822开发环境,运行DEMO报错:Error:“GPIOTE_CONFIG_NUM_OF_LOW_POWER_ENVENTS” is undefined