构造方法和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
时间: 2024-11-10 11:38:55