函数声明:

  

function add(a, b) {
// ...
}

1.顾名思义,声明一个函数, 用关键字 “function” 来告诉,这是一个函数。

2.任何地方,想用就可以拿过来使用

函数表达式:

var add = function (){
//...
};

表达式, 最先想到的赋值表达式,如 a = b;

1.表达式与声明的区别之一, 末尾有无 分号(;) 结束。

2.表达式不同于声明的区别之二: 函数表达式的函数并不是想用就可以调用, 他要等到程序执行到他的时候才可以使用。

  在函数表达式中:

    赋值运算符往后,分号之前的  叫做 匿名函数。

    因为没有名字,所以要通过表达式给他一个名字,才能调用它。

    与匿名函数相似,还有一个叫做  箭头函数 的,像这样:

    

                    x => x * x

    或是这样:

                    (x,y) => {
if (x > 0) {
return x + y;
} else {
return -x + y;
}
}

        箭头函数 与 匿名函数的区别在于:  函数中  this 的指向 问题。

          箭头函数: 由上下文决定。

          匿名函数: 自身作用域。

          详情:https://www.jb51.net/article/104352.htm

立即执行函数:


在 匿名函数 或者 箭头函数 后面加 ()  立即执行这个函数。

  举例:

    var a = function(params) {
console.log(params);
}('i am param');

    程序执行到这一句的时候,控制台就会看到 “i am param” 。

js中 函数声明/函数表达式/匿名函数/箭头函数/立即执行函数的更多相关文章

  1. JavaScript学习总结(三、函数声明和表达式、this、闭包和引用、arguments对象、函数间传递参数)

    一.函数声明和表达式 函数声明: function test() {}; test();    //运行正常 function test() {}; 函数表达式: var test = functio ...

  2. JS中如何使用EL表达式中的对象

    JS中如何使用EL表达式中的对象 2017年09月25日 15:33:09 lhpnba 阅读数:4859   1.js中使用el表达式要加双引号或单引号:'${list}' 2.js变量获取el表达 ...

  3. JS执行顺序-函数声明提升、匿名函数、函数表达式

    大方向上: JS 是按照 代码块 进行 编译.执行 的. 学习至: 1.变量声明提升 2.新唐的博客 3.js中匿名函数的创建与调用方法分析 4.前端圣经 - <高程三> 5.深入理解变量 ...

  4. JS中var声明与function声明两种函数声明方式的区别

    JS中常见的两种函数声明(statement)方式有这两种: // 函数表达式(function expression) var h = function() { // h } // 函数声明(fun ...

  5. JS函数声明与定义,作用域,函数声明与表达式的区别

    Scoping & Hoisting 例: var a = 1; function foo() { if (!a) { var a = 2; } alert(a); }; foo(); 上面这 ...

  6. JS中var声明与function声明以及构造函数声明方式的区别

    JS中常见的三种函数声明(statement)方式有这三种: // 函数表达式(function expression) var h = function () { // h } // 函数声明(fu ...

  7. js中关于声明提前的几个误区

    声明提前: 在程序正式执行之前,都会将所有的var声明的变量提前到开始位置,集中创建,而赋值留在原地. 例如这样一段代码 console.log(a) var a = 100; console.log ...

  8. js中变量声明有var和没有var的区别

    转js中var用与不用的区别 2015年07月13日 16:08:22 阅读数:3627 Javascript声明变量的时候,虽然用var关键字声明和不用关键字声明,很多时候运行并没有问题,但是这两种 ...

  9. 关于js中变量声明和作用域的理解

    1. var是声明一个变量:虽然声明了这个变量,但在存入值之前,它的初始值是 undefined:2.全局变量:拥有全局作用域,在js代码中的任何地方都是有定义的:3.局部变量:在函数内声明的变量只在 ...

  10. js中变量声明提前

    demo1: var a=10; function b(){alert(a); var a=20; alert(a)} b()//undefined 20 因为:js编译器在执行b这个函数时,会把函数 ...

随机推荐

  1. pygame 笔记-10 摩擦力与屏幕环绕

    多年前写过一篇 Flash/Flex学习笔记(25):摩擦力与屏幕环绕,可惜的当时上传的flash,服务器后来无人维护,现在flash链接都失效了.本篇用pygame重新实现了一个: 原理是类似,但要 ...

  2. 12、Java函数接口

    注:新版本接口中Iterable已换成Iterator    

  3. win7下Google谷歌浏览器上传下载卡死无响应

    问题背景:win7,谷歌浏览器上传选择图片之后,页面卡死无响应. 以前解决过类似问题就是input type="file"的accept属性当为通配符时,会出现这种情况,改为具体的 ...

  4. space.php

    天云信息技术有限公司 | 苏ICP备16033617号 1 0.275 ms SELECT * FROM uchome_session WHERE uid='1' Explain id select_ ...

  5. 资源贴——以备时时查询用

    目录区 AI教程   AI教程 1.AI教程!教你绘制小清新巴士   2.AI教程!如何使用基础图形来绘制消防插画   3.AI教程!教你绘制秋日插画   4.AI教程!教你制作色彩分明的街边场景插画 ...

  6. SpringBoot项目获取ApplicationContext来GetBean的方法

    一.简介 我们开发时,经常遇到有些实例需要动态创建,比如有构造函数的组件等.这时候,Spring时我们有ClassPathXmlApplicationContext,但是在Spring Boot时,我 ...

  7. 【转】关于免费SSL证书的那些事儿

    根据 Let’s Encrypt CA 的统计,截至 2017 年 11 月,Firefox 加载的网页中启用 HTTPS 的比例占 67%,比去年底的 45% 有巨大提升.浏览器开发商如 Mozil ...

  8. iOS实现 webView loadHTMLString加载外部css、js样式

    记录一下. webview(或wk)用 loadHTMLString加载内容时 ,如果只是单纯的html内容,样式等都写在内部,直接设置baseURL为nil即可. 不过当html里包含外部样式或调用 ...

  9. 关联规则挖掘算法之Apriori算法

    Apriori算法是一种挖掘关联规则的频繁项集算法,其核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集. 关于这个算法有一个非常有名的故事:"尿布和啤酒".故事是 ...

  10. 基于Kafka的生产者消费者消息处理本地调试

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/68174111冷血之心的博客) Kafka下载地址:http://d ...