美文网首页
009|JavaScript函数引用

009|JavaScript函数引用

作者: 中年小钢炮 | 来源:发表于2017-05-19 21:00 被阅读25次

第5节 中,我们学习了定义与使用函数名直接调用函数。这一节里,我们来学习如何通过变量来调用函数。

将函数赋给变量

我们知道变量可以引用内存数据,比如字符串、数值、布尔值。除了这些,变量还可以引用函数。下面给出一个示例:

function sayHello() // 定义sayHello函数
{
    console.log("Hello World");
}
var sayHelloVar = sayHello;  //将sayHello函数赋值给sayHelloVar变量
sayHelloVar(); // 通过sayHelloVar变量调用函数

在上图的代码中,我们定义了一个sayHello函数,然后将这个函数赋值给sayHelloVar变量,最后再通过sayHelloVar变量调用sayHello函数。

先来看一下脚本运行的结果:

脚本运行结果

可以看到,脚本成功输出了Hello World。所以:

  • 通过将函数名直接赋值给变量,就能让变量指向函数。
  • 通过在函数变量后加上()(小括号),就能通过变量调用函数。

将函数赋给对象属性

既然函数可以赋值给变量,而对象的属性就是一个变量,那么函数能否赋值给对象属性?答案是可以的。

看一下下面的示例:

function sayHello() // 创建sayHello函数
{
    console.log("Hello World");
}
var student = {
    sayHi:sayHello
} // 将sayHello方法赋值给student的sayHi属性

student.sayHi(); // 调用student.sayHi属性调用函数

上面的代码将函数sayHello赋值给了student对象的sayHi属性,然后通过student.sayHi来调用。来看一下运行结果:

通过对象属性调用函数

可以看到,调试控制台中输出了预期中的"Hello World"。所以可以将函数赋值给对象属性,并且通过对象属性来调用。

解析 console.log

我们回过头来看一下 console.log。在前面的课程中,我们一直通过console.log来输出字符串。那到底什么是console.log?

首先,console是一个Node.js环境变量。环境变量意思就是,这变量脚本一启动就存在,由Node.js环境提供。这意味在脚本的任何地方都能使用console变量。

其次,console这个由Node.js框架提供的变量,有一个log属性。这个log属性引用的是一个函数。所以

console.log // 是一个函数引用
console.log()  // 是一个函数调用

console.log 这个函数的作用是,向调试控制台中输出内容。

好了,这节课程讲到这里。通过这一节,你又学习到了JavaScript中的关键内容,函数引用。恭喜你!你又成长了!但这还是远远不够。

为什么console.log() 的括号中能插入字符串?这背后的原理与规则是什么?
什么是方法?方法与函数的区别是什么?

请继续关注我的课程,我将继续带领大家一一解答上述疑问。

想学计算机技术吗?需要1对1专业级导师指导吗?想要团队陪你一起进步吗?欢迎加我为好友!

我的微信

相关文章

网友评论

      本文标题:009|JavaScript函数引用

      本文链接:https://www.haomeiwen.com/subject/stiyxxtx.html