js中 函数声明/函数表达式/匿名函数/箭头函数/立即执行函数

时间:2022-03-25 04:08:43

函数声明:

  

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. c&plus;&plus;实现螺旋矩阵分析总结

    螺旋矩阵,是这么一个东西: 1   2   3 8   9   4 7   6   5 这是一个,n*n的矩阵,由外向里一次递增,一环一环,就好像一个螺旋一样.不难想象,如果n=5,那么应该是这样的: ...

  2. Apple Watch开发快速入门教程

     Apple Watch开发快速入门教程  试读下载地址:http://pan.baidu.com/s/1eQ8JdR0 介绍:苹果为Watch提供全新的开发框架WatchKit.本教程是国内第一本A ...

  3. DeviceOne开发HelloWord

    http://www.cnblogs.com/wjiaonianhua/p/5278061.html http://www.jb51.net/article/75693.htm 2015 年 9 月 ...

  4. &lbrack;Tutorial&rsqb; Using the RasPi as a WiFi hostspot

    http://www.raspberrypi.org/forums/viewtopic.php?f=36&t=19120 http://wireless.kernel.org/en/users ...

  5. bzoj1503 &lbrack;NOI2004&rsqb;郁闷的出纳员(名次树&plus;懒惰标记)

    1503: [NOI2004]郁闷的出纳员 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 8705  Solved: 3027[Submit][Statu ...

  6. &lbrack;python语法巩固&rsqb;&lbrack;leetcode326&rsqb;&lbrack;Power of Three&rsqb;

    题目大意: 让你判断一个int是否为3的幂; 最简单的思路 C++ class Solution { public: bool isPowerOfThree(int n) { for(long lon ...

  7. 几本不错的CPU设计以及VLSI的书籍

    1. Microprocessor Design Principales and Practrices with VHDL  特点:电路与VHDL一一对应,比较清楚,而且还用MAX+plus进行仿真 ...

  8. linux下修改MAC地址方法

    一.修改MAC地址方法linux环境下:需要用 #ifconfig eth0 down 先把网卡禁用 再用ifconfig eth0 hw ether 1234567890ab 这样就可以改成功了要想 ...

  9. listview 去掉header和footer中的分割线

    在listView中加上android:headerDividersEnabled="false" android:footerDividersEnabled="fals ...

  10. BZOJ 1004&colon; &lbrack;HNOI2008&rsqb;Cards &lbrack;Polya 生成函数DP&rsqb;

    传送门 题意:三种颜色,规定使用每种颜色次数$r,g,b$,给出一个置换群,求多少种不等价着色 $m \le 60,\ r,g,b \le 20$ 咦,规定次数? <组合数学>上不是有生成 ...