首页 新闻 会员 周边

js代码的问题

0
悬赏园豆:5 [已解决问题] 解决于 2015-05-05 14:57

我写了段javascript代码:首先定义了一个全局变量a;第一个函数f1,在f1中改变a的值;第二个函数f2,在f2中调用f1,我在f2中得到的a的值仍然是起初给它赋的值并不是经过f1处理后的值,为什么?

薄荷香茶的主页 薄荷香茶 | 初学一级 | 园豆:48
提问于:2012-09-20 21:27
< >
分享
最佳答案
0
var a="aaa";
function f1(){
a="111";
}
function f2()
{
f1();
alert(a);//aaa
}
f2();

你的代码少写了一个f2();
如果添加上就弹出 “111”

收获园豆:5
chenping2008 | 大侠五级 |园豆:9836 | 2012-09-22 13:14
其他回答(6)
0

按你说的逻辑上没有问题 贴代码出来看看 

强者运强 | 园豆:338 (菜鸟二级) | 2012-09-20 21:40

var a="aaa";

f1(){

a="111";

}

f2()

{

f1;

alert(a);//aaa

}

支持(0) 反对(0) 薄荷香茶 | 园豆:48 (初学一级) | 2012-09-20 21:43
var a="aaa";
function f1(){
a="111";
}
function f2()
{
f1();
alert(a);//aaa
}

这样就可以了啊 

@xiying: 

支持(0) 反对(0) 强者运强 | 园豆:338 (菜鸟二级) | 2012-09-21 12:38
0

语法问题,方法调用需要加括号。

f1()

Ethan轻叹 | 园豆:996 (小虾三级) | 2012-09-20 23:04

你有没有实际操作过呀?如果加了括号的话就错了。

支持(0) 反对(0) 薄荷香茶 | 园豆:48 (初学一级) | 2012-09-21 08:26

@xiying: 方法定义要加function,调用必须要加括号。

支持(0) 反对(0) Ethan轻叹 | 园豆:996 (小虾三级) | 2012-09-21 09:06
0

按道理是要加括号的

Crazy_Yang | 园豆:167 (初学一级) | 2012-09-21 08:58
0
var a="aaa";
function f1(){
a="111";
}
function f2()
{
f1();
alert(a);//aaa
}

没写function?,要括号。

向往-SONG | 园豆:4853 (老鸟四级) | 2012-09-21 09:08
0

你想要的代码是不是这样:

var a="aaa";
function f1(){
    a="111";
}
function f2(){
    f1();
    alert(a);//111
}

f2();

如果调用了f1()就会改变变量a的值

artwl | 园豆:16736 (专家六级) | 2012-09-21 09:45
0

应该加括号,你可以让f1()  return a; 试一下

独行骑士 | 园豆:196 (初学一级) | 2012-09-22 09:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册