首页 新闻 会员 周边

JavaScript属性的理解

0
悬赏园豆:10 [已解决问题] 解决于 2016-02-14 09:46

 各位前辈好,我在学习JavaScript过程中有这么一个情况不知道怎么理解的。如下:

我定义一个函数,然后再函数体外又以在Person下定义一个sex,这个sex是什么变量,这属于哪个知识点?

function Person() {
       this.name = 'tao';
       this.getThis = function() {
             alert(this.constructor);
       };
       this.sayName = function() {
             this.name;
       };
}
Person.sex = 'male';  //我再定义一个这个,对于这个不理解

var p1 = new Person();

alert(p1.sex)  //undefined   为什么构造函数的对象不能访问  sex?

alert(Person.sex)  // male

leoorpio的主页 leoorpio | 初学一级 | 园豆:193
提问于:2016-02-13 10:42
< >
分享
最佳答案
0

推荐阅读:JavaScript静态变量

收获园豆:10
dudu | 高人七级 |园豆:30994 | 2016-02-13 13:38

谢谢哦,对我理解有帮助!

leoorpio | 园豆:193 (初学一级) | 2016-02-13 17:23
其他回答(2)
0

Person.prototype.sex = 'male';  原型链上的才可以

sirzxj | 园豆:197 (初学一级) | 2016-02-13 16:50

不不不,建议您自己尝试一下

支持(0) 反对(0) leoorpio | 园豆:193 (初学一级) | 2016-02-13 17:24

@leoorpio: 

支持(0) 反对(0) sirzxj | 园豆:197 (初学一级) | 2016-02-13 20:53
0

我的理解是你的p1是新new出来的,并没有给他赋值,所以是undefined。这和java等语言类似

无聊的小剑 | 园豆:142 (初学一级) | 2016-02-13 21:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册