美文网首页
关于JS函数

关于JS函数

作者: 尹萨萨 | 来源:发表于2016-09-05 09:52 被阅读0次

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

  • 函数声明
function example(  ){
    console.log(a1)
}
  • 函数表达式
var hanShu=function example( ) {
   consolo.log(a2)
}

函数表达式将一个函数声明赋值给一个变量。
两者有一个明显的区别即是函数声明会前置,而函数表达式不行。

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

  • 变量声明前置
    变量的声明(注意不包含变量初始化)会被提升(置顶)到声明所在的上下文。也就是说,在变量的作 用域内,不管变量在何处声明,都会被提升到作用域的顶部,但是变量初始化的顺序不变。

  • 函数声明前置
    函数声明在JS解析时进行函数提升,因此在同一个作用域内,不管函数声明在哪里定义,该函数都可以进行调用
    参考资料-变量提升
    参考资料-函数声明前置

对于arguments 的理解

arguments是函数自带的一个参数,他可以调用函数的参数值
例如:

function message( name, age , tel){
           alert(arguments[0]);
}

arguments对象类似于数组,通过[0],[1],[2]等,来调用函数内第一个,第二个,第三个参数。
同时还有一个arguments.length 属性可以知道有多少个参数传递给了函数。

在Javascript中函数的重载怎样实现

  • 同种函数拥有唯一的函数名与形参,相同名字的函数,参数个数不同或者顺序不同都被认为是不同的函数,称为函数重载。

  • JavaScript并没有函数重载这个特性,因为只要函数名相同JS就认为是同一个函数。后面出现的函数后覆盖前面出现的函数。
    但是我们可以通过判断传入参数的数量和类型,来进行重载的模仿。

function name( ) {
    if (arguments.length==1){
        console.log(arguments[0]+10);
    }else if(arguments.length==2){
        console.log(arguments[0]+arguments[1]);
    }
}

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

  • 立即执行函数:
    用括号将函数包裹起来,同时后面再加一个括号
(function example( ) {
      console.log(a)
})( )

因为javascript语言中没有块级作用域,可以用次将函数包裹,避免变量的相互影响,减少错误。

什么是函数的作用域链

函数的作用域链是指根据代码的结构,形成一个单独的作用域,而作用域之间又有关联,形成一个链状的结构,构成作用域。

相关文章

  • 关于JS函数

    函数声明和函数表达式有什么区别 函数声明 函数表达式 函数表达式将一个函数声明赋值给一个变量。两者有一个明显的区别...

  • URL编码

    JS关于URL编码 url的三个js编码函数escape(),encodeURI(),encodeURICompo...

  • 2017-9月总结演示PPT

    关于hsptm平台 【global.js】-----【定义一些全局函数】 【head.js】-----【初始化页面...

  • JavaScript 05 函数

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

  • js 关于高阶函数

    高阶函数英文叫Higher-order function。那么什么是高阶函数? JavaScript的函数其实都指...

  • 关于 JS-函数

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

  • es6(class)

    js中的私有方法 _privateMethod(){}形式 关于this 函数中的this指向函数的调用者unde...

  • js 深入

    * js语法* js的动态函数和匿名函数* js动态函数Functionnew Function();* 匿名函数...

  • 关callback的使用和认识

    关于js中的回调函数callback 前言 其实我一直很困惑关于js 中的callback,困惑的原因是,学习中这...

  • [译]JS箭头函数三连问:为何用、怎么用、何时用

    [译]JS箭头函数三连问:为何用、怎么用、何时用在现代JS中最让人期待的特性就是关于箭头函数,用=>来标识。箭头函...

网友评论

      本文标题:关于JS函数

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