JS中关于函数调用的问题

来源:互联网 发布:手机天网视频软件 编辑:程序博客网 时间:2024/05/28 15:33

在js中,可以直接调用函数,也可以将函数名赋值给变量进行调用,他们的方式有所不同。

  1. 直接调用
    直接调用比较简单,如
function output(message){    window.alert(message);}output("hello ,world");

这就属于直接调用显示是:hello world
这里写图片描述

2 赋值调用

    var a=output;     a("hello,world");

这相当于a是一个指针,指向了函数output(message);要注意参数。
输出是:hello,world
这里写图片描述
但是需要注意的是,如果直接输出变量名,则会得到函数体的输出。

window.alert(a);//或者直接输出变量名window.alert(output);

这里写图片描述
在这里还有一个有趣的事情,如果是这样:

    var a=output;     window.alert(a("hello,world"));

那么就会出现先是一个窗口弹出 hello world

这里写图片描述

确定以后又有一个窗口出来是:undefined

这里写图片描述

这说明首先是a调用了函数output,第一个窗口是函数中的alert弹出来的,然后是window.alert(a(“hello,world”));执行,结果是undefined,说明这种方法不正确,这也在某种程度上说明了JS是解释性的脚本语言。

 3. 返回值调用 对于有返回值的函数来说,可以用这种办法:
var b=("abc");window.alert(b);

“`
这样的话会将返回值赋给变量b,输出是:abc
这里写图片描述
如果函数没有返回值,就会输出 undefined。

在应用过程中,最好还是使用直接调用比较符合习惯,更少出错。

0 0
原创粉丝点击