美文网首页
JS基础系列(五): JS里的函数

JS基础系列(五): JS里的函数

作者: squall1744 | 来源:发表于2018-04-01 20:42 被阅读0次

声明函数的5种方式


第一种方式: 具名函数

function fn(arg1,arg2,arg3,...) {}

第二种方式: 匿名函数

let fn = function() {}

第三种方式: 具名函数表达式

let fn = function a() {}

这种方式的函数名只在函数作用域内起作用

第四种方式: window.Function()

let fn = new Function('x', 'y', 'return x + y')

基本没人用的方式

第五种: 箭头函数

let fn = (x, y) => {
  return x+y
}

箭头函数当只有个函数的时候可以省略括号, 只有一个语句的时候可以不带{}, 并且函数会自动return这个语句的值

let fn = x => x**2
fn(2) //4

箭头函数不绑定this

如何调用函数


假设我们声明了一个fn函数

function fn() {}

记住,请用fn()调用. 一定要带括号才是函数调用, 可能有人觉得这很简单啊, 好, 再来一个

fucntion fn() {
  return fn2() {}
}

fn()()才是调用fn2

不过其实还是建议用call来调用函数
如第一个我们可以用fn.call(undefined)来调用函数fn

this和arguments


  1. this就是call的第一个参数
  2. arguments就是call的第二个开始到最后的参数
'use strict' //严格模式

f= function() {
  console.log(this)
  console.log(arguments)
}

f.call(undefined,1,2,3)
//undefined
//伪数组[1,2,3]

调用栈


用这个网站自己试吧, 反正不好讲
Loupe

作用域


image.png

相关文章

  • JS基础系列(五): JS里的函数

    声明函数的5种方式 第一种方式: 具名函数 第二种方式: 匿名函数 第三种方式: 具名函数表达式 这种方式的函数名...

  • 01-25 js基础属性

    什么是js 一:js基础语法 二:变量 三:运算符 四:分之结构 五:循环 六:函数function 函数名(参数...

  • JS基础系列(函数)

    关键字: 函数都是对象js中函数都是Function对象,它们也具有属性和方法,最为特殊的是它们可以被调用。 关键...

  • 前端面试题(持续补充)

    js,node.js基础: 闭包 闭包是能够读取其他函数内部变量的函数。在js中,只有函数内部的子函数可以访问内部...

  • 2017-4-1 VUE

    JS的方法 1、类型判断的方法 2、创建对象构造函数 3、JS基础函数和语法

  • JAVA 之 JS知识框架

    一、js的简介 二、js基本语法 三、js内建对象 四、js的函数 五、js的事件 六、js的bom 七、js的dom

  • JavaScript 05 函数

    js函数的概念和作用,js函数的定义,js函数的调用,js事件驱动的概念,js函数的实参和形参,js的作用域,js...

  • JavaScript函数之递归

    JS函数 从本篇文章开始,我们将继续回到JavaScript函数的学习。在学JS基础时我们初步学习了函数,讲解了函...

  • JS基础系列(一): JS里的数据

    JS数据类型 基本类型numberstringbooleanundefinednullsymbol(不常用) 引用...

  • JS基础系列(二): JS里的类型

    内置类型 JS中一共有七个内置类型: number string boolean undefined null o...

网友评论

      本文标题:JS基础系列(五): JS里的函数

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