美文网首页
关于 JS-函数

关于 JS-函数

作者: JunVincetHuo | 来源:发表于2016-10-13 12:32 被阅读0次

1. 函数声明和函数表达式有什么区别

  • 函数声明就是定义一个函数,如以下例子

function text(){ //函数声明 console.log(1); }

  • 函数表达式就是让变量等于一个函数,也具有声明函数的作用(因此后面要加分号),如

var a =function text() { console.log(1); };

  • 区别在于:虽然两者都有声明函数的作用,但是函数声明能使整个函数提升(就是能在全局任何时候调用函数),但是函数表达式只让变量提前,只起到变量提升的作用,必须等到解析器执行到他所在的代码才会被真正执行(就是倘若在表达式之前调用函数,会发生错误,只能在表达式之后调用函数)
函数表达式前调用函数.png 函数表达式后调用函数.png

2.什么是变量的声明前置?什么是函数的声明前置

  • 变量的声明前置就是把变量(var a不是var a =3//a=3并没有提升)提升到前面(最前面)
  • 函数的声明前置把函数提升到前面(函数表达式并不可以)

3.arguments 是什么

在函数内部,你可以使用arguments对象获取到该函数的所有传入参数,能展示数组的实参是什么(形参不可以)

arguments实现.png

参考:JavaScript arguments对象

4.函数的重载怎样实现?

JavaScript并没有重载的功能,因此可以通过arguments实现

arguments重载.png

5.立即执行函数表达式是什么?有什么作用?

  • 立即执行函数表达式(Immediately-Invoked Function Expression),是将函数定义放在一个圆括号里,让JavaScript引擎将其理解为一个表达式,再在函数的定义后面加一个(),以达到定义函数后立即调用该函数的效果。
  • (function fn(){}())
  • 作用就是立即执行函数表达式并不会改变全局变量(**通常是用来立刻调用
    ![Uploading 作用域链展示_922803.png . . .]
    函数得出结果)
    • 定义的变量只是局部变量
  • 可以将独立的功能封装在自包含模块中。

6..什么是函数的作用域链

  • 作用域:作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaScript中,变量的作用域有全局作用域和局部作用域两种。

例子如下:

作用域链展示.png

JavaScript 开发进阶:理解 JavaScript 作用域和作用域链


代码

1


task-1.png
task-2.png
task-3.png
task-4.png
task-5.png
task-6.png
task-7.png
task-8.png
task-9.png
task10.png

相关文章

  • 关于 JS-函数

    1. 函数声明和函数表达式有什么区别 函数声明就是定义一个函数,如以下例子 function text(){ //...

  • JS-函数

    事件驱动模型: 事件(操作,动作) 事件类型(具体的动作类型) 事件源(发生动作的地方) 事件监听器(监听事件发生...

  • JS-函数

    1.定义(1)匿名函数(2)具名函数(3)箭头函数,无this 词法作用域(也叫静态作用域)JS看到上面的代码不是...

  • JS-函数

    1.函数基础 函数参数 函数写法:function func(){}var func=function(){}经常...

  • JS-函数

    函数1.声明 function 函数名(参数1,参数2...){ 函数体 retur...

  • js-函数

    函数

  • js-工具函数

    日常总结 秒转时分秒

  • Js-函数-6.1

    1 :Try{}catch(){}finally{}catch会捕获到前面抛出的异常,无论是直接抛出的还是函数调用...

  • js-函数进阶

    函数(function)把要执行的代码放入函数里面,使其函数里面的代码反复被使用,减少了大量代码累跌 函数的基本书...

  • js-函数练习

    函数练习

网友评论

      本文标题:关于 JS-函数

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