黑马程序员技术交流社区

标题: javascript对象的一个小问题 [打印本页]

作者: 梵天的梦    时间: 2014-2-18 12:21
标题: javascript对象的一个小问题
function Person(name,age){
                                this.name = name;
                                this.age = age;
}                       
在javascript中Person可以是一个对象,但是这里面没有定义属性name,age,
那为什么this.name和this.age还能接受到参数传进来的值?
作者: why168    时间: 2014-2-18 13:48
有人说Javascript不是面向对象语言,本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend,但javascript是一门灵活的语言,它可以模拟面向对象基本的特征。
function Person(name,age){
                                this.name = name;
                                this.age = age;
}   
由于javascript跟其他面向对象语言的不同,上述代码就是对person 属性name和age定义以及赋值。只不过这个属性是公共的,相当于public。
如果你想定义private的属性可以这么写:
function Person(name,age){
                            var  name = name;
                            var  age = age;
}   




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2