function square(num){
sun=num*num;
}
var num = square(2);
alert(sum);
把var num换成var sum反而undefind,为什么会这样?
哈哈哈蜜瓜
浏览 1910回答 4
4回答
小白师兄
第一:var num = square(2);执行是因为js中可以把方法当做参数一样来使用,但是因为你的square方法没有return,所以var num是无法接收到square(2)执行后的值,square(2)执行得到的结果就是sun = 4;所以你alert(num);还是得到的undified,至于你alert(sum),就错误的更离谱了,你的代码压根就没sum这个变量,你是把sun看成sum了吧!!第二:函数如果没有返回值,在执行的时候,无法用变量来接收,没返回何来接受!第三:给你更改了一下:function square(num) {
return num * num;
}
var num = square(2);
alert(num);这样,你只要用变量接收执行的结果,就可以得到想要的值!