美文网首页JavaScript相关文章
js声明函数的几种方式

js声明函数的几种方式

作者: 阿拉斯加南海岸线 | 来源:发表于2019-01-27 11:01 被阅读11次

函数表达式(Function Expression):将函数定义为表达式语句(通常是变量赋值,也可以是自调用形式)的一部分。函数表达式可以是命名的,也可以是匿名的。可以没有函数名,常被成为匿名函数,如果有,函数名也只存在自身函数作用域,并且函数表达式不能以“function”开头,函数表达式可以存储在变量或者对象属性中。

函数声明(Function Declaration):是一种独立的结构,它会声明一个具名函数,并必须以function开头。且函数声明会进行函数提升,使它能在其所在作用域的任意位置被调用,即后面的代码可以将此函数通过函数名赋值给变量或者对象属性。

Function()构造器:使用Function()构造器 函数,不推荐。

//Function()构造器
var f =new Function()

// 函数表达式
var f = function() {
      console.log(1);  
}

// 函数声明
function f (){
     console.log(2);
}

console.log(f())
//1

因为函数声明的优先级高于变量声明,变量提升,变量声明在后,以最后声明的值为结果,所以是1。

怎么区分函数声明和函数表达式:
表面上,以function开头进行声明,并且含有函数名,一定是函数声明。
内在的,

  1. 函数提升:就是指允许先调用函数,再进行声明,因为声明会自动提升至调用前面执行。函数声明,会将整个函数进行提升.而函数表达式则不会提升,它是在引擎运行时进行赋值,且要等到表达式赋值完成后才能调用。
  2. 函数表达式是可以没有函数名的,如果有,它的函数名也只存在于自身的作用域,var f = function fun(){console.log(fun)}其他地方是没有的.这也避免了全局污染,也方便递归.

相关文章

  • js ------ 函数声明和函数表达式

    js创建对象几种方式 js 函数声明 和 函数表达式函数声明 函数表达式 函数表达式: 下面的函数都会直接运行

  • js声明函数的几种方式

    函数表达式(Function Expression):将函数定义为表达式语句(通常是变量赋值,也可以是自调用形式)...

  • 面试总结

    1.的作用 2.Js中函数的几种声明方式 1.Function Declaration(函数定...

  • js函数调用方式

    js调用方式有如下几种: 1.函数声明 javascript 代码 2.函数表达式 javascript 代码 关...

  • [前端学习]JS高级部分学习笔记,第二天

    函数进阶 定义函数的方式 声明函数function xxx(){} 这种方式是最直接的声明方式,js执行时这种方式...

  • JavaScript函数_01创建函数的几种方式

    01创建函数的几种方式 创建函数的几种方式 01 函数声明02 函数表达式03 new Function() ne...

  • 函数声明的几种方式

    函数声明的几种方式 三种 : 函数声明(1),函数表达式(2~5),Function构造器(6) 函数声明与函数表...

  • 前端笔记 — JS

    一. 函数 函数名实际上是一个指向函数对象的指针 声明函数的几种方式 自定义函数(函数声明) 函数直接量声明(函数...

  • 函数

    一、js声明函数有三种方式 1、函数声明 function fun-name(){} 2、函...

  • javascript声明函数的几种方式

    函数是JavaScript中很重要的一个语言元素,并且提供了一个function关键字和内置对象Function,...

网友评论

    本文标题:js声明函数的几种方式

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