js中的两个function,一个是在类中建立的.一个是在类外建立的,为什么它们的参数可以互相调用啊?
<scriptlanguage="javascript">//设计Mario类functionMario(){this.x=0;this.y=0;this.move=fu...
<script language="javascript">
//设计Mario类
function Mario()
{
this.x=0;
this.y=0;
this.move=function(direct)//这里是类内的一个direct参数
{
switch(direct)
{
case 1:
window.alert("上移动");
break;
}
}
}
//创建 Mario对象
var mario=new Mario();//全局函数
//下边这函数怎么能直接使用上面类中的direct参数呢?
//还是这里的direct被上边的类里调用过去了.不能这样用吧为什么?
function marioMove(direct){
window.alert("marioMove"+direct);
}
//这下边是一个表格
</script>
<table>
<tr><td><input type="button" value="—>" onclick="marioMove(1)"></td></tr>
</table>电脑用的手机流量,不能发图片...卡卡卡,请认真回答下,谢谢! 展开
//设计Mario类
function Mario()
{
this.x=0;
this.y=0;
this.move=function(direct)//这里是类内的一个direct参数
{
switch(direct)
{
case 1:
window.alert("上移动");
break;
}
}
}
//创建 Mario对象
var mario=new Mario();//全局函数
//下边这函数怎么能直接使用上面类中的direct参数呢?
//还是这里的direct被上边的类里调用过去了.不能这样用吧为什么?
function marioMove(direct){
window.alert("marioMove"+direct);
}
//这下边是一个表格
</script>
<table>
<tr><td><input type="button" value="—>" onclick="marioMove(1)"></td></tr>
</table>电脑用的手机流量,不能发图片...卡卡卡,请认真回答下,谢谢! 展开
3个回答
2013-04-16
展开全部
如果Mario算js的类话 按类OOP的类理解 x,y就是类的实例属性 move类的实例方法 你实例化了个mario 就可用类的实例方法 调用move的方法 mario.move(4);其会指行switch语句其参数direct得根据上下文来看 本地优先后参数后外套类似 如上面move方法函数体类没有 参数有 假如没有向上找由于没有嵌套 直接到类的本地变量静态变量(可能js不支持继承)然后到html里js脚本和调用方法同层次的本地变量>参数 有嵌套就外拓一层次直到全局 没有要么报错要么系统按类型赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-16
展开全部
只要不定义在函数内的变量都是公用的,js的特点就是同一个页面加载的不管是文件内的也好,还是直接写在页面里的,作用域都是本页面,所以不定义在函数内的变量,这些变量的作用域就是当前整个页面内有效。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-16
展开全部
函数的参数是局部的,虽然与其它函数的参数重名,但不是指同一变量.函数参数的实际值是在调用时传入的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询