JS中如何将变量对象作为参数传递?

chongan_wang 2010-01-09 11:04:20
如:
var a = 1; //全局变量

function f(将a对象传递进来){
//这里面可以对a进行增减操作。
//也就是这里面对a操作,能够影响a的值。
}

请把示例代码填充一下,谢谢。
...全文
6620 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
dianxer 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 chongan_wang 的回复:]
引用 13 楼 axman 的回复:
你一定是在搞笑.上面说定义成var xx= yyy;的全局变量不方便,下面自己又说放在input type=hidden 控件中.难道在JS中定义一个全局变量不比在HTML中定义input type=hidden 方便?



。。。。。怎么说呢,具体需求不一样吧 我现在写的JS是做成通用组件形式的,不是上面说的那么简单
[/Quote]

听着好悬
chongan_wang 2010-01-10
  • 打赏
  • 举报
回复
谢谢大家的建议,我现在改用input type=hidden 来存放我的变量了。这样就可以实现我想要的功能了。
muzi1988 2010-01-10
  • 打赏
  • 举报
回复
有点像知道楼主为什么想怎么弄?
可以用js做一个类似Java的map类的对你的变量进行缓存,
你传递的就是map.get(“”)。当你改变变量的时候就更新下
map里的值。
这样行不?
muzi1988 2010-01-10
  • 打赏
  • 举报
回复
楼主是不是想用js进行变量的地址传递吧。没见过这么没搞js的。关注啊。。。
axman 2010-01-10
  • 打赏
  • 举报
回复
可以请ECMA发明一个JS环境下的指针就符合楼主的意图了.
tuo_bing 2010-01-10
  • 打赏
  • 举报
回复
飘过。。。
ljl0284 2010-01-10
  • 打赏
  • 举报
回复
.......装懂来了
axman 2010-01-10
  • 打赏
  • 举报
回复
你一定是在搞笑.上面说定义成var xx= yyy;的全局变量不方便,下面自己又说放在input type=hidden 控件中.难道在JS中定义一个全局变量不比在HTML中定义input type=hidden 方便?
chongan_wang 2010-01-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 axman 的回复:]
你一定是在搞笑.上面说定义成var xx= yyy;的全局变量不方便,下面自己又说放在input type=hidden 控件中.难道在JS中定义一个全局变量不比在HTML中定义input type=hidden 方便?

[/Quote]

。。。。。怎么说呢,具体需求不一样吧 我现在写的JS是做成通用组件形式的,不是上面说的那么简单
boringame 2010-01-09
  • 打赏
  • 举报
回复
楼主要理解的是,在js中。
不同方法直接有不同的变量环境(全局变量除外)。

就像猪这个变量,在中国指的是猪这个动物,
而在美国,用pig指猪这个动物。

即使在中国,人们把猪从新定义成了驴,
在美国,pig还是代表猪。

就像这个a,
在方法中定义成了2。
而在原来的地方,
还是1。

解决办法:
用reutrn作为返回值。
使用全局变量。
把整个环境传过去(这个不容易实现)。
lsmallboy 2010-01-09
  • 打赏
  • 举报
回复
直接赋给一个变量,跟普通变量一样传就行了
chongan_wang 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 warison2008 的回复:]
既然是全局变量,还用作为参数传递到function中吗?直接使用就行啦,莫名

var a = 1;

function f(){
  a++;
}
[/Quote]
。。。。。。谢谢你的好意,可是,我这么做肯定有我的项目的理由的。谢谢你
道光2008 2010-01-09
  • 打赏
  • 举报
回复
既然是全局变量,还用作为参数传递到function中吗?直接使用就行啦,莫名

var a = 1;

function f(){
a++;
}
chongan_wang 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhoupuyue 的回复:]
JScript codefunction f(a){
a++;return a;
}
[/Quote]
经测试,不对啊。。。你这样不是将a的值传进去了吗?
阿_布 2010-01-09
  • 打赏
  • 举报
回复

function f(a){
a++;
return a;
}
chongan_wang 2010-01-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhoupuyue 的回复:]
JScript codevar a=1;function f(){
a++;
}
[/Quote]

这个是实现了功能,但不是我想要的答案。如果a不是动态指定的 就不会需要当成参数来传递了。如果有1000个这样的全局变量,不可能这样写1000次吧?
阿_布 2010-01-09
  • 打赏
  • 举报
回复

var a = 1;

function f(){
a++;
}

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧