Js函数传参如何为一个全局变量重新赋值

1)varJn=null//存一个为空的函数2)以获取Id的方法做一个函数functionGetId(a,b){a=document.getElementById(b)}... 1) var Jn = null //存一个为空的函数
2) 以 获取Id的方法做一个函数
function GetId(a,b){
a = document.getElementById(b)
}

3) 执行函数 GetId(Jn,'Id')// 将全局变量 Jn 和 元素的Id 传近函数

4) 执行完函数后 Jn = null ==>变成 Jn = document.getElementById(Id);

5) ===============求大牛指点=====================>

想偷懒: 以后获取 id 元素直接

a = nll
GetId(a,ID)
a = document.getElementById(ID)
window.onload = function(){

var x1 = null
function GetId(x,Id){
var x=document.getElementById(Id);
return x;
}
GetId(x1,'abc');

alert(x1)
}

为什么x1 还是null ; 函数没有重新给全局变量重新赋值吗?
展开
 我来答
匿名用户
推荐于2016-09-07
展开全部
<!DOCTYPE HTML>
<html>
<head>
<title>yugi</title>
<meta charset=UTF-8 />
<style type="text/css">
</style>
<script type="text/javascript">
var a = null;
function setA (b)
{
a = document.getElementById (b);
}
onload = function ()
{
alert (a);
setA ("aa");
alert (a);
}
</script>
</head>
<body>
<div id="aa">ddd</div>
</body>
</html>
更多追问追答
追问
我想你没认真看我的要求。

var oDiv1 = null
var oDiv2 = null

getid(oDiv1,ID1):

getid(oDiv1,ID1):

要求传入2个参数,传一个参数我也会

执行后 oDiv1 = document.getElementById(’ID1‘) 这样的表达式
追答
我想你没有明白局部作用域和全局作用域的区别。

yugi

var a = null, x;
function setA (a, b)
{
this[a] = document.getElementById (b);
}
onload = function ()
{
alert (a);
setA ('a', "aa");
alert (a);
alert (x);
setA ('x', "aa");
alert (x);
}

ddd

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式