今天看张孝祥的JavaScript的视频教程,讲到函数,代码如下
var msg="局部变量";
function square(x,y)
{
var sum;
sum=x*x+y*y;
return sum;
}
function show()
{
var msg="局部变量";
alert(msg);
}
var sum;
alert("sum="+sum);
sum=square(2,3);
alert("sum="+sum);
show();
按正常情况下,三个alert语句应该有三个对话框,但是在我的浏览器中却有六个,依次是
sum=undefiend
sum=13
局部变量
sum=13
sum=13
局部变量
也就是说整段程序执行了两次,我在搜狗浏览器(网速保护版,两个内核都试了)以及IE8下都是如此,而视频中的运行是正常的。为什么呢?
var msg="局部变量";
function square(x,y)
{
var sum;
sum=x*x+y*y;
return sum;
}
function show()
{
var msg="局部变量";
alert(msg);
}
var sum;
alert("sum="+sum);
sum=square(2,3);
alert("sum="+sum);
show();
按正常情况下,三个alert语句应该有三个对话框,但是在我的浏览器中却有六个,依次是
sum=undefiend
sum=13
局部变量
sum=13
sum=13
局部变量
也就是说整段程序执行了两次,我在搜狗浏览器(网速保护版,两个内核都试了)以及IE8下都是如此,而视频中的运行是正常的。为什么呢?
解决方案 »
- 我想用js和HTML实现新浪微博的收藏、评论等功能,请高手指点一下,给个例子,谢谢啦
- 求个免费的服务器,我想把我的javascript游戏挂上面。
- 怎么判断字符串的字符数,中文算两个的
- 因为flash文件有2,3M,用页面直接打开一个flash文件时比较慢,加载前会长时间空白
- 一个JavaScript做的广告
- 表单里面的数据发送到邮箱
- 如何使用JavaScript下载页面的链接文件?
- 关于IFRAME加载的问题
- 急 。。js传递参数问题 ,在线等
- Write语句之关闭
- 错误 1 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟
- 对jquery的$.post不解
都是输出下面的值:sum=undefiend
sum=13
局部变量