【请教】javascript局部变量和全局变量的传值问题!

咦!有个bug 2016-03-05 12:46:14
为什么超链接调用JS函数传值并进行赋值后,在里边可以输出k的值,但是在外边却输出undefined。
是不是这方法不可用,还是我写错了?
var j;
var k;
function onc2(j){
k=j;
alert(k);
}
alert(k);

<a href="#" onclick="onc2(3)" target="_blank" >网站</a>
...全文
197 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
咦!有个bug 2016-03-05
  • 打赏
  • 举报
回复
那个问题点数是啥来的,不是分吗? 新手没了解这论坛怎么玩的.....
ideep 2016-03-05
  • 打赏
  • 举报
回复
引用 12 楼 jslang 的回复:
[quote=引用 9 楼 qq_31338181 的回复:] http://pan.baidu.com/s/1kUdQmdL 这是源码。想点击index.html的对应连接跳到xianshi.html显示对应div隐藏的内容。
这样啊,更简单了,在url地址后面加个参数 <a href="xianshi.html?k=3" target="_blank" >网站</a> 在xianshi.html中 <script type="text/javascript"> var k = location.href.match(/\?k=(.+)/)[1]; alert(k); </script> [/quote] 提个问题。没分。你可以不回答。。 你耐心怎么好,是怎么练出来的?
咦!有个bug 2016-03-05
  • 打赏
  • 举报
回复
引用 12 楼 jslang 的回复:
[quote=引用 9 楼 qq_31338181 的回复:] http://pan.baidu.com/s/1kUdQmdL 这是源码。想点击index.html的对应连接跳到xianshi.html显示对应div隐藏的内容。
这样啊,更简单了,在url地址后面加个参数 <a href="xianshi.html?k=3" target="_blank" >网站</a> 在xianshi.html中 <script type="text/javascript"> var k = location.href.match(/\?k=(.+)/)[1]; alert(k); </script> [/quote] 就几句代码搞定了... 新手只学了点HTML DOM这个,后边的还没学... 谢啦!
天际的海浪 2016-03-05
  • 打赏
  • 举报
回复
引用 9 楼 qq_31338181 的回复:
http://pan.baidu.com/s/1kUdQmdL 这是源码。想点击index.html的对应连接跳到xianshi.html显示对应div隐藏的内容。
这样啊,更简单了,在url地址后面加个参数 <a href="xianshi.html?k=3" target="_blank" >网站</a> 在xianshi.html中 <script type="text/javascript"> var k = location.href.match(/\?k=(.+)/)[1]; alert(k); </script>
天际的海浪 2016-03-05
  • 打赏
  • 举报
回复
以localStorage为例

<script type="text/javascript">
function onc2(j){
  localStorage.lastnameK = j;
  alert("已设置k的值为:"+j);
}

function onc3(){
  var k = localStorage.lastnameK;
  if (k===undefined)
    alert("k还没有值,请先设置k的值");
  else
    alert("k的值为:"+k);
}
</script>
一个网页调用<a href="#" onclick="onc2(3)" >设置k的值</a>,然后超链接跳转后再调用<a href="#" onclick="onc3()" >获取k的值</a>
天际的海浪 2016-03-05
  • 打赏
  • 举报
回复
引用 8 楼 qq_31338181 的回复:
[quote=引用 7 楼 jslang 的回复:] 看看这个例子你能明白么?

<script type="text/javascript">
var k;

function onc2(j){
  k=j;
  alert("已设置k的值为:"+k);
}

function onc3(){
  if (k===undefined)
    alert("k还没有值,请先设置k的值");
  else
    alert("k的值为:"+k);
}
</script>
<a href="#" onclick="onc2(3)" >设置k的值</a>
<a href="#" onclick="onc3()" >获取k的值</a>
我是两个网页调用的,一个网页调用<a href="#" onclick="onc2(3)" >设置k的值</a>,然后超链接跳转后再调用<a href="#" onclick="onc3()" >获取k的值</a>这样可行么。[/quote] 不行。每个页面的全局变量都是独立的。 不过你可以用localStorage,sessionStorage和cookie 存储变量的值
咦!有个bug 2016-03-05
  • 打赏
  • 举报
回复
http://pan.baidu.com/s/1kUdQmdL 这是源码。想点击index.html的对应连接跳到xianshi.html显示对应div隐藏的内容。
咦!有个bug 2016-03-05
  • 打赏
  • 举报
回复
引用 7 楼 jslang 的回复:
看看这个例子你能明白么?

<script type="text/javascript">
var k;

function onc2(j){
  k=j;
  alert("已设置k的值为:"+k);
}

function onc3(){
  if (k===undefined)
    alert("k还没有值,请先设置k的值");
  else
    alert("k的值为:"+k);
}
</script>
<a href="#" onclick="onc2(3)" >设置k的值</a>
<a href="#" onclick="onc3()" >获取k的值</a>
我是两个网页调用的,一个网页调用<a href="#" onclick="onc2(3)" >设置k的值</a>,然后超链接跳转后再调用<a href="#" onclick="onc3()" >获取k的值</a>这样可行么。
天际的海浪 2016-03-05
  • 打赏
  • 举报
回复
看看这个例子你能明白么?

<script type="text/javascript">
var k;

function onc2(j){
  k=j;
  alert("已设置k的值为:"+k);
}

function onc3(){
  if (k===undefined)
    alert("k还没有值,请先设置k的值");
  else
    alert("k的值为:"+k);
}
</script>
<a href="#" onclick="onc2(3)" >设置k的值</a>
<a href="#" onclick="onc3()" >获取k的值</a>
ideep 2016-03-05
  • 打赏
  • 举报
回复
你现在的情况,其它函数确实可以调用的哇 如果你需要在点击之前调用k, 那么先赋个默认值给它喽
咦!有个bug 2016-03-05
  • 打赏
  • 举报
回复
引用 4 楼 ideep 的回复:
[quote=引用 3 楼 qq_31338181 的回复:] 我想调用函数传值,然后赋值给全局变量.....但是出去函数外边输出不了.....
你要做什么还是没有讲清楚[/quote] 就是把赋值到全局变量储存着,让其他函数都可以调用...
ideep 2016-03-05
  • 打赏
  • 举报
回复
引用 3 楼 qq_31338181 的回复:
我想调用函数传值,然后赋值给全局变量.....但是出去函数外边输出不了.....
你要做什么还是没有讲清楚
咦!有个bug 2016-03-05
  • 打赏
  • 举报
回复
我想调用函数传值,然后赋值给全局变量.....但是出去函数外边输出不了.....
ideep 2016-03-05
  • 打赏
  • 举报
回复
这是页面实际执行的顺序 var j; var k; alert(k); <a href="#" onclick="onc2(3)" target="_blank" >网站</a> function onc2(j){ k=j; alert(k); } 你页面加载的时候alert当然是未定义啊
vswen5 2016-03-05
  • 打赏
  • 举报
回复
因为里面那个是点击a标签后 才会执行里面的代码的. 而外面那个打开页面就会执行

87,901

社区成员

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

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