JavaScript 函数(二)
一、匿名函数
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 函数(二)的更多相关文章
- javascript函数 (二 定义函数的三种方法)
javascript定义函数(声明函数)可以有三种方法:正常方法.构造函数.函数直接量 <html><head></head><body> <sc ...
- 第一百零二节,JavaScript函数
JavaScript函数 学习要点: 1.函数声明 2.return返回值 3.arguments对象 函数是定义一次但却可以调用或执行任意多次的一段JS代码.函数有时会有参数,即函数被调用时指定了值 ...
- 深入浅出javascript(二)函数和this对象
一.函数对象的属性和方法 函数是一种数据类型,也是对象,这一点很明确.因此,函数对象也可以添加属性和方法,但是这里的属性和方法是静态的,之所以这样说,就是为了区别构造函数. 示例如下: ①创建一个空的 ...
- JavaScript函数(二)
在前面我们已经对函数作了简单的介绍,比如函数的定义.函数的声明.函数的调用和函数的传参等.本节将进一步介绍函数的应用,深度理解函数的各种使用. 函数是一个对象,每个函数时Function类型的一个实例 ...
- JavaScript 函数声明,函数表达式,匿名函数,立即执行函数之区别
函数声明:function fnName () {-};使用function关键字声明一个函数,再指定一个函数名,叫函数声明. 函数表达式 var fnName = function () {-};使 ...
- 初探JavaScript(二)——JS如何动态操控HTML
除去五一三天,我已经和<JavaScript Dom编程艺术>磨合了六天,第一印象很好.慢慢的,我发现这是一块排骨,除了肉还有骨头.遇到不解的地方就会多看几遍,实在不懂的先跳过,毕竟,初次 ...
- JavaScript函数劫持
一.为什么我会写这篇文章 这篇文章其实是在一个偶然的机会下发现了居然有JavaScript劫持这种东西,虽然这种东西在平时用的比较少,而且一般实用价值不高,但是在一些特殊的情况下还是要使用到的,所以在 ...
- JavaScript函数之美~
JavaScript函数之美~ 这篇文章,我将就以下几个方面来认识JavaScript中的函数. 函数为什么是对象,如何定义函数? 如何理解函数可以作为值被传递 函数的内部对象.方法以及属性 第一部分 ...
- JavaScript引用类型(二)
Date类型 Javascript中的Date类型是采用Java中的java.util.Date类基础上构建的,使用UTC时间来保存数据,可以精确到1970年1月1日之前或之后的285616年 创建一 ...
随机推荐
- js提取DOM属性和设置DOM属性值
<style type="text/css"> #div1{width:100px;height:100px;} #div2{background} </styl ...
- zzulioj - 2623: 小H的作业题
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2623 题目描述 期末考试即将来临,同学们都积极的在图书馆复习.今天小H也来到图书馆复习,小H掏 ...
- Codeforces Round #135 (Div. 2) D - Choosing Capital for Treeland(两种树形DP)
- ESP8266 LUA脚本语言开发: 准备工作-动手编译LUA固件
前言 这节咱自己编译LUA固件 准备一台linux的机子 我把固件放到了git上,方便电脑用http下载 我先用这个连接linux 大家随意哈,只要是一台linux的机子就可以,不管是图形页面还是命令 ...
- 联想笔记本上Ubuntu无线网卡问题
可能有两个问题: 1.无无线网卡驱动 2.无线网卡驱动不能自动加载 问题1:无线网卡驱动 百度出网卡驱动iwlwifi-9000,如iwlwifi-9000-pu-b0-jf-b0-34.618819 ...
- 有这样一个url=http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e,请写一段js程序提取url 中的各个get参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中, 如{a:'1',b:'2',c:'',d:'xxx',e:undefined}
第一种方法: console.log(getJson(url)); function getJson(url){ var obj={}; var arr=url.split("?" ...
- js中的自动包装机制
有一行语句: 1.toString() //error 那么问题来了,为什么报错? 我的第一想法就是1是一个基本类型,所以它没有toString方法 嗯,理直气壮 接下来有大佬show me code ...
- 原生 JS 实现最简单的图片懒加载
懒加载 什么是懒加载 懒加载其实就是延迟加载,是一种对网页性能优化的方式,比如当访问一个页面的时候,优先显示可视区域的图片而不一次性加载所有图片,当需要显示的时候再发送图片请求,避免打开网页时加载过多 ...
- centos7 df 命令卡死
登录服务器想查看磁盘使用情况,使用了df,但卡住半天没有响应. 运行strace df -h,发现最后卡在了 stat("/proc/sys/fs/binfmt_misc", 无法 ...
- Spring的NamedParameterJdbcTemplate的简单使用
原文地址:https://www.iteye.com/blog/itommy-2354746 Spring JDBC包提供了JdbcTemplate和它的两个兄弟SimpleJdbcTemplate和 ...