| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1534 人关注过本帖
标题:类中静态的方法和动态方法调用问题
只看楼主 加入收藏
linuxpluto
Rank: 4
等 级:贵宾
威 望:13
帖 子:889
专家分:23
注 册:2005-8-14
收藏
 问题点数:0 回复次数:3 
类中静态的方法和动态方法调用问题
<script language="JavaScript">
<!--
function test1(){
this.a = "a";
function b(){
return this.a;
}
function c(){
return "aaa";
}
this.d= function(){
return this.a;
}
this.e = function(){
return c();
}
this.f = function(){
return b();
}
}
var d = new test1();
alert(d.d());
alert(d.e());
alert(d.f());
//-->
</script>
谁能解释第三个alert为什么会出错?取不到值?
----------------------------------------------------------------------------------------
我觉得不是这样的,如果是楼上的说法c是不是这个类的成员呢~
但是c确实执行了啊
根本问题是this.a是静态的属性,b()是动态的方法,b是不可以调用this.a的(如果想调用的时候怎么办,我也不知道,能力有限)
在b中调用this.a解释为b类的a属性,该属性未定义。所以给的结果是undefined
这是为什么你的问题所在
c为什么可以调用就是,就是因为他没有和test1的静态属性和方法没有任何联系,所以就可以执行
那么为什么this.d就可以调用this.a呢,因为this.d是静态的方法,可以调用静态属性
综上 ,在js类中
静态方法可以调用静态属性,静态方法和动态方法
反之不可行
------------------------------------------------------------------------------------------
别出解决的问题,拿来大家分享
搜索更多相关主题的帖子: 静态 动态 
2006-02-11 01:53
linuxpluto
Rank: 4
等 级:贵宾
威 望:13
帖 子:889
专家分:23
注 册:2005-8-14
收藏
得分:0 
_this=this
_this.a就可以调用了

吃的比猪还差,干的比驴还累,起的比鸡还早,睡得比小姐还晚,挣得比民工还少,看起来比谁都好——苦命的人.人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,该爱的时候就去爱,无谓压抑自己
2006-02-11 09:04
bagger
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:33
帖 子:891
专家分:0
注 册:2005-8-16
收藏
得分:0 
_this和this有什么区别啊,
我是新手,请指教!


【三元毕业设计论文】
三元论文真的只有三元钱
客服QQ:742670649
http://shop35094218./
2006-02-11 09:18
linuxpluto
Rank: 4
等 级:贵宾
威 望:13
帖 子:889
专家分:23
注 册:2005-8-14
收藏
得分:0 
_this是个新的变量,呵呵

吃的比猪还差,干的比驴还累,起的比鸡还早,睡得比小姐还晚,挣得比民工还少,看起来比谁都好——苦命的人.人生短短几十年,不要给自己留下了什么遗憾,想笑就笑,想哭就哭,该爱的时候就去爱,无谓压抑自己
2006-02-12 03:46
快速回复:类中静态的方法和动态方法调用问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029158 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved