+ -
当前位置:首页 → 问答吧 → 大家看看这段简单的脚本

大家看看这段简单的脚本

时间:2010-05-21

来源:互联网


function square(sum){ total = num * num; return total; } var total = 50; var number = square(20); alert(total);
 提示:您可以先修改部分代码再运行
为什么alert没有任何输出的?
本人在看书籍上写着的例子.
书上写着的.这段代码输出的是全局变量是400.但我在本地测试没任何效应.

作者: rao3324180   发布时间: 2010-05-21

total = num * num;

是不是应该:total = sum * sum;

作者: chenjmdgjl   发布时间: 2010-05-21

引用:
原帖由 chenjmdgjl 于 2010-5-21 17:06 发表
total = num * num;

是不是应该:total = sum * sum;
我又粗心大意了.不好意思了./
function square(sum){ total = sum * sum; return total; } var total = 50; var number = square(20); alert(total);
 提示:您可以先修改部分代码再运行
我改了以后也还是这样啊

作者: rao3324180   发布时间: 2010-05-21

- -放在<script></script>里

作者: kof7650   发布时间: 2010-05-21

引用:
原帖由 kof7650 于 2010-5-21 17:38 发表
- -放在里
一样的

作者: rao3324180   发布时间: 2010-05-21


<script type="text/javascript"> //<![CDATA[ function square(sum){ total = sum * sum; return total; } var total = 50; var number = square(20); alert(total); //]]> </script>
 提示:您可以先修改部分代码再运行
弹出的不是400吗?

作者: faeng220   发布时间: 2010-05-21

引用:
原帖由 faeng220 于 2010-5-21 19:29 发表
//
 提示:您可以先修改部分代码再运行
弹出的不是400吗?
为什么会弹出400啊.而不50啊?

作者: rao3324180   发布时间: 2010-05-22

我理解的是因为你先声明的total,然后调用的函数,所以跳出的是后来函数计算的400。
如果你把
  var total = 50;
  var number = square(20);
两句调转下,就弹出50了。

作者: CrossJae   发布时间: 2010-05-22

exp.png (11.11 KB)
2010-5-24 19:10

作者: faeng220   发布时间: 2010-05-24

版主箭头都出动了

作者: 181283777   发布时间: 2010-05-24

我很佩服小秦版主在9楼的解说,赞一个

作者: bmcsy   发布时间: 2010-05-25

引用:
  
function square(sum){
    total = sum * sum;
    return total;
  }
  var total = 50;
  var number = square(20);
  alert(total);   
var totle = 50 赋值变量50
var number = square(20);
在执行square函数时total = sum * sum;给全局变量totle重新赋值为sum * sum
如果不想改变全局变量total 值
函数  square应该这样写
function square(sum){
    var total = sum * sum;
    return total;
  }
<script type="text/javascript"> //<![CDATA[ function square(sum){ var total = sum * sum; return total; } var total = 50; var number = square(20); alert(total); //]]> </script>
 提示:您可以先修改部分代码再运行

作者: 8yong8   发布时间: 2010-05-25