美文网首页
js中的函数

js中的函数

作者: icaojinyu | 来源:发表于2019-01-28 11:08 被阅读0次

1. 函数的重复声明

  • 如果同一个函数被多次声明,后面的声明就会覆盖前面的声明。

2. 递归

  • 计算斐波那契数列
function fn(n) {
  if (n === 0) return 1
  if (n === 1) return 1
  return fn(n - 1) + fn(n - 2)
}

console.log(fn(6)) // 13

3. 函数声明和函数表达式

  • 因为js存在预解析,即函数声明会被提升,所以如果同时采用function命令和赋值语句声明同一个函数,最后总是采用赋值语句的定义。
function fn() {
  console.log(2)
}
var fn = () => {
  console.log(1)
}
fn() // 1

4. 函数的属性和方法

  • name属性:返回函数的名字
  • length属性:返回函数预期传入的参数个数,即函数定义之中的参数个数
  • toString方法:返回一个字符串,内容是函数的源码

5. 函数本身的作用域

  • 函数执行时所在的作用域,是定义时的作用域,而不是调用时所在的作用域
  • 函数体内部声明的函数,作用域绑定函数体内部
var a = 1
var x = function () {
  console.log(a)
}
function f() {
  var a = 2
  x()
}
f() // 1

6. 同名参数

  • 如果有同名的参数,则取最后出现的那个值
function f(a, a) {
  console.log(a)
}

f(1, 2) // 2

7. arguments对象

  • arguments对象是函数实参的集合,这个对象只有在函数体内部,才可以使用

8. eval

  • eval命令接受一个字符串作为参数,并将这个字符串当作语句执行
  • eval的本质是在当前作用域之中,注入代码。由于安全风险和不利于 JavaScript 引擎优化执行速度,所以一般不推荐使用
eval('var a = 1;')
console.log(a) // 1

相关文章

  • this

    this在js中主要研究的是函数中的this,不代表函数外没有this,函数外的this指向window js中的...

  • 2018-12-01

    js中括号操作属性 js函数 js换肤 变量和函数预解析 匿名函数 函数传参 函数return关键字 流程控制语句...

  • js中函数的函数

    函数是支撑一门编程语言的重要内容,在JavaScript(下面简称js)中,函数有多种声明和调用方式,而且函数的位...

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

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

  • 函数如何在 JS 中是一等公民

    所谓一等公民,就是指函数在 JS 中可以作为变量,函数参数,函数返回值。 JS 中函数是一种特殊的对象。函数与对象...

  • JS中的数学函数Math

    JS中的数学函数MathMath 称为数学函数,属于对象类型的函数

  • 前端JS进阶二(ES6-Class语法)

    Class和普通构造函数有何区别 前端会使用ES6中的Class来代替JS中的构造函数 JS 构造函数 Class...

  • JS中的函数

    函数:预先定义好的,可以被反复利用的代码块 函数不调用不执行 格式:function fn(){//代码} fn...

  • js中的函数

    函数 命名函数 function show(){ //函数的定义 code } show() //函数的...

  • JS中的函数

    函数: function(){} 函数声明: function name(){ } 函数执行: name(); 函...

网友评论

      本文标题:js中的函数

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