美文网首页
函数基础

函数基础

作者: zy懒人漫游 | 来源:发表于2018-01-27 05:22 被阅读0次

函数声明和函数表达式的区别

虽然都可以定义函数,但最大的区别在于:
解析器会率先读取函数声明,使其在执行任何代码之前就可以访问(也就是 函数声明提升);
而函数表达式则需要解析器执行到它所在的代码行才会被解释执行。

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

  • 什么是变量的声明前置?
    JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,然后给他初始值undefined,然后才逐句执行程序,这就叫做“变量提升”,也即“变量的声明前置”。

  • 什么是函数的声明前置
    函数的声明前置就是把整个函数提升到当前作用域的最前面(位于前置的变量声明后面)。

arguments 是什么?

arguments 是一个类数组对象。代表传给一个function的参数列表。
arguments[0]就是第一个参数,arguments[1]就是第二个参数,以此类推。这个对象只有在函数体内部,才可以使用。

函数的重载怎样实现?

  • 重载是很多面向对象语言实现多态的手段之一,在静态语言中确定一个函数的手段是靠方法签名——函数名+参数列表,也就是说相同名字的函数参数个数不同或者顺序不同都被认为是不同的函数,称为函数重载

  • 在JavaScript中没有函数重载的概念,函数通过名字确定唯一性,参数不同也被认为是相同的函数,后面的覆盖前面的,所以只能通过一些方法来实现模拟重载

    function bar() {
      if(arguments.length == 1) {
        alert(arguments[0] + 5);
      } else if(arguments.length == 2) {
        alert(arguments[0] + arguments[1]);
      }
    }
    bar(10);  //输出 "15"
    bar (40, 20);  //输出 "60"
    

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

立即执行函数表达式:

    (function(){ /* code */ }());
   // 或者
   (function(){ /* code */ })();

通常情况下,只对匿名函数使用这种“立即执行的函数表达式”。它的目的有两个:一是不必为函数命名,避免了污染全局变量;二是IIFE内部形成了一个单独的作用域,可以封装一些外部无法读取的私有变量。

什么是函数的作用域链

作用域就是变量与函数的可访问范围,在JavaScript中,变量的作用域有全局作用域和局部作用域两种。

全局作用域:在代码中任何地方都能访问到的对象拥有全局作用域。
局部作用域:和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到。
用域链的原理是,如果变量在该作用域中没有,则它会逐级向上寻找,直至最顶层。

相关文章

  • 3-Python 函数(2)

    本章概要:1、函数基础2、深入理解函数3、综合练习 1、函数基础 课程概要:理解函数定义函数调用函数函数文档 一、...

  • js函数、变量和函数预解析

    函数基础 函数的调用 函数与解析

  • 烧脑必备品之函数基础篇

    函数与公式 今天学习函数的基础知识,先认识函数,再学习函数,之后再了解并运用函数 今天仅仅只是学习了函数的基础知识...

  • Hive常用函数

    一、窗口函数 1、窗口函数基础结构 窗口函数 = 分析函数 + over函数分析函数:sum ( )、max ( ...

  • python基础笔记

    Python基础 函数:

  • web前端--JS函数

    一、函数基础 1、函数定义 1、函数声明function functionName(parameters) {执行...

  • 博学谷第七天

    时间:2020年1月1日内容:函数基础 *** 函数基础**** 函数的作用:函数就是将一段具有独立功能的代码块整...

  • 函数基础

    1.基本用法 1.1 什么是公式 EXCEL公式是指 以等号“=”为引导,通过运算符、函数、参数等按照一定的顺序组...

  • -----函数基础-----

    函数 在本章中,你讲学习编写函数,函数是带名字的代码块,用于完成具体的工作。 要执行函数的定义的特定任务,可调用该...

  • 函数基础

    一、认识函数 1.函数的定义 函数就是对实现某一特定功能的代码段分类:内置函数和自定义函数内置函数:python已...

网友评论

      本文标题:函数基础

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