为了账号安全,请及时绑定邮箱和手机立即绑定

函数有全局变量和局部变量之分吗?

function add2(x,y,z) {

var x=1;

y=2;

z=3;

sum=x+y+z;

document.write(sum);

}

这样有结果,


var x=1;

y=2;

z=3;

function add2(x,y,z) {

sum=x+y+z;

document.write(sum);

}

这样就没结果

正在回答

6 回答

我明白了,参数的赋值不能这么赋,这样只是定义了变量赋值。

0 回复 有任何疑惑可以回复我~

有全局变量和局部变量之分:

如下:

var n=10;  //全局变量
function demo(){

var i=20;  //局部变量
z=100;   //全局变量(只有当此函数被调用时它才是全局变量,函数没有被调用时它是不存在不起作用的);

}
alert(n);  //你在alert()里面分别输入n,z,i 这三个参数做测试就明白了;

demo();

注:当demo()方法被调用了时,n和z是会弹出结果的,i是不出结果;
当demo()方法没被调用,只有n会出结果,z和i都不会出结果;

如果要i出结果,就要在函数内写输出并调用此函数;

如:
function demo(){
var i=20;
alert(i);

}
demo();


0 回复 有任何疑惑可以回复我~

function add2(x,y,z) {

sum=x+y+z;

document.write(sum);

}

你写了一个函数,那你最后有没有调用这个函数呢?

要让这个函数起作用,就必须要调用它,有两种方法:

1、是直接调用:

var x=1;

y=2;

z=3;

function add2() {

sum=x+y+z;

document.write(sum);

}

add2();

2、通过HTML调用 :

var x=1;

y=2;

z=3;

function add2() {

sum=x+y+z;

document.write(sum);

}

<input onclick='add2()'>

0 回复 有任何疑惑可以回复我~

第二个x,y,z是参数

0 回复 有任何疑惑可以回复我~

是你没调用吧 ,  add2(1,2,3)调用试试。变量有全局和局部之分,但是函数参数不需要定义为全局变量或局部变量,直接传递就行。

0 回复 有任何疑惑可以回复我~

奥,这里和变量没有关系,对函数中参数的赋值必须在function{}函数体中吗?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

函数有全局变量和局部变量之分吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信