首页 新闻 搜索 专区 学院

js prototype问题

0
悬赏园豆:5 [已关闭问题] 关闭于 2013-09-30 09:31
function test(){
    
}
test.prototype={
    proto:{
        fun:function(){
          alert(1)
        }
    }
}



//如果这么调用  会有什么问题,为什么

(new test()).proto.fun()
老温一小子的主页 老温一小子 | 初学一级 | 园豆:199
提问于:2013-09-06 18:18
< >
分享
所有回答(3)
0

貌似不会有什么问题吧

飞翔吧菜鸟 | 园豆:202 (菜鸟二级) | 2013-09-06 18:58
-2

你好。

首先,最里层的语法是不通的,大括号括起来的应该是一个object。

其次,把test的prototype属性修改后,test当成普通函数调用没有问题,会执行方法体里的代码。

但把test当成构造函数时,即new test()时,new出来的对象在访问不到属性时会去prototype中找。

Yancey.Han | 园豆:197 (初学一级) | 2013-09-08 00:17

不好意思,代码写错了!

如果这么调用  会有什么问题,为什么

(new test()).proto.fun()

支持(0) 反对(0) 老温一小子 | 园豆:199 (初学一级) | 2013-09-08 10:52

@CouverVin:这样就没有问题的。

支持(0) 反对(0) Yancey.Han | 园豆:197 (初学一级) | 2013-09-09 14:21
0

不会有问题的!只是写法上注意加分号。

yevon | 园豆:306 (菜鸟二级) | 2013-09-08 11:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册