问答详情
源自:5-4 有参数的函数

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

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);

}

这样就没结果

提问者:木a 2016-11-07 22:37

个回答

  • 木a
    2016-11-10 10:50:40

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

  • A空城
    2016-11-09 15:58:51

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

    如下:

    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();


  • A空城
    2016-11-09 15:50:09

    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()'>

  • stone310
    2016-11-07 23:03:10

    第二个x,y,z是参数

  • 进击的KIM
    2016-11-07 22:58:04

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

  • 木a
    2016-11-07 22:42:58

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