一、匿名函数

  1、匿名函数

      没有名字的函数即称为匿名函数。

  2、使用方法

      a、将匿名函数赋值给一个变量,这样就可以通过变量进行调用

      b、匿名函数自调用

  3、关于自执行函数(匿名函数自调用)的作用:防止全局变量污染。

  Demo:

 //1 函数声明 - 命名函数
function fn() {
// 函数体
} //2 函数表达式 -- 后半部分 匿名函数
var fn = function () {
// 函数体
} // 3 自调用函数 -- 当函数书写完成之后立即调用
(function () {
console.log('我是自调用函数');
})()

二、自调用函数

  匿名函数不能通过直接调用来执行,因此可以通过匿名函数的自调用的方式来执行,如上例3。

三、函数是一种数据类型

  1、函数是一种数据类型

function fn() {}
console.log(typeof fn); // function

    可以看出得到的一个 function 类型的数据类型,function 是属于 Object 的一种,属于引用数据类型。

  2、函数作为参数

    函数作为一种数据类型,可以把函数作为一个函数的参数,在一个函数中调用。

  3、函数作为返回值

    函数作为一种数据类型,所以可以把函数作为返回值从函数内部返回。

    Demo:

 // 函数作为参数
var fn = function () {
console.log('Hello World');
}
function test1(fun) {
fun();
}
test1(fn); // 传入一个函数 // 函数作为返回值
function test2(a) {
var b = 5; return function () {
console.log(a + b);
}
}
var fn = test2(6); // 返回一个函数
fn();

JavaScript 函数(二)的更多相关文章

  1. javascript函数 (二 定义函数的三种方法)

    javascript定义函数(声明函数)可以有三种方法:正常方法.构造函数.函数直接量 <html><head></head><body> <sc ...

  2. 第一百零二节,JavaScript函数

    JavaScript函数 学习要点: 1.函数声明 2.return返回值 3.arguments对象 函数是定义一次但却可以调用或执行任意多次的一段JS代码.函数有时会有参数,即函数被调用时指定了值 ...

  3. 深入浅出javascript(二)函数和this对象

    一.函数对象的属性和方法 函数是一种数据类型,也是对象,这一点很明确.因此,函数对象也可以添加属性和方法,但是这里的属性和方法是静态的,之所以这样说,就是为了区别构造函数. 示例如下: ①创建一个空的 ...

  4. JavaScript函数(二)

    在前面我们已经对函数作了简单的介绍,比如函数的定义.函数的声明.函数的调用和函数的传参等.本节将进一步介绍函数的应用,深度理解函数的各种使用. 函数是一个对象,每个函数时Function类型的一个实例 ...

  5. JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别

    函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...

  6. 初探JavaScript(二)——JS如何动态操控HTML

    除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...

  7. JavaScript函数劫持

    一.为什么我会写这篇文章 这篇文章其实是在一个偶然的机会下发现了居然有JavaScript劫持这种东西,虽然这种东西在平时用的比较少,而且一般实用价值不高,但是在一些特殊的情况下还是要使用到的,所以在 ...

  8. JavaScript函数之美~

    JavaScript函数之美~ 这篇文章,我将就以下几个方面来认识JavaScript中的函数. 函数为什么是对象,如何定义函数? 如何理解函数可以作为值被传递 函数的内部对象.方法以及属性 第一部分 ...

  9. JavaScript引用类型(二)

    Date类型 Javascript中的Date类型是采用Java中的java.util.Date类基础上构建的,使用UTC时间来保存数据,可以精确到1970年1月1日之前或之后的285616年 创建一 ...

随机推荐

  1. 22-C#笔记-预编译指令

    基本和C++一致. 参考: http://www.runoob.com/csharp/csharp-preprocessor-directives.html

  2. c语言中的数据类型的最大最小值

    #include <float.h>#include <limits.h> int   n1 = INT_MIN;int   n2 = INT_MAX;float f1 = F ...

  3. KITTI数据集

    目的 使用雷达点云提供的深度信息 如何实现 将雷达的三维点云投影到相机的二维图像上 kitti数据集简介 kitti的数据采集平台,配置有四个摄像机和一个激光雷达,四个摄像机中有两个灰度摄像机,两个彩 ...

  4. btcWallet系列之一-grpc模块

    btcwallet对外服务 btcwallet除了像btcd对外提供rpc服务以外,还提供了grpc服务,同时grpc采用的是protobuf来实现. 这方便与不同语言进行交互,降低客户端代码编写量. ...

  5. First Chance Exception是什么?

    是否调试过应用程序并在输出窗口中看到有关“First Chance”异常的消息?有没有想过: 什么是First Chance Exception? 第一次机会异常是否意味着我的代码中存在问题? 在调试 ...

  6. 使用PostMan进行压力/性能测试

    1. 2. 3. 4.查看结果/导出结果

  7. 使用Swagger2构建SpringMVC项目中的Restful API文档

    使用Swagger自动生成API文档,不仅增加了项目的可维护性,还提高了API的透明度更利于快速测试等工作,便于更快地发现和解决问题. 本篇文章只记录整合过程,关于Security Configura ...

  8. Apollo配置中心--安装使用-docker

    官网:https://github.com/ctripcorp/apollo Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推 ...

  9. IDEA调试进入class文件

    今天用IDEA调试时,一直进入class文件,而没有进入java文件. 错误原因 出现这种情况,有可能是Module有多个同名的依赖,调试时程序进入了同名的jar包里面,而不是同名的Module. 如 ...

  10. [Gamma] 发布说明

    [Gamma] 发布说明 发布网址为http://60.205.230.0 新功能前瞻 团队合作:支持多人合作完成项目 项目进度管理:便于监控项目进度 站内信系统:团队合作与审核需要 已知BUG修复 ...