函数与作用域

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

函数声明: function functionName( ){ }
函数表达式: var fn = function( ){ }
函数声明会提前,函数表达式可以省略标识符(函数名)。

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

所谓的变量声明前置就是在一个作用域块中,所有的变量都放在块的开始处声明。和变量声明前置一样,执行代码之前会先读取函数声明,只要函数在代码中进行了声明,无论它在哪个位置上进行声明,js引擎都会将它的声明放在范围作用域的顶部。

3、 arguments是什么

arguments是一个类数组对象,代表传给一个function的参数列表。
arguments对象是函数内部的本地变量;arguments已经不再是函数的属性了。可以在函数内部通过使用arguments对象获取函数的所有参数。这个对象为传递给函数的每个参数建立一个条目,条目的索引号从0开始。它包括了函数说要调用的参数。object对象、类数组。

4、 函数的“重载”怎样实现

在JS中,没有重载,同名函数会覆盖,但可以在函数体针对不同的参数调用执行相应的逻辑。

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

作用:隔离作用域。
因为JavaSript有很多致命缺陷,以至于各类人才开发出各种技巧来弥补JavaScript设计和历史遗留问题。
比如JavaScript中没有命名空间,而且只有function代码块内部可以隔离变量作用域,自调匿名函数就用来防止变量弥散到全局,以免各种js库冲突。

6、求n!,用递归来实现

7、以下代码输出什么?

8、 写一个函数,返回参数的平方和?

9、如下代码的输出?为什么?

10、如下代码的输出?为什么?

11、 如下代码输出什么? 写出作用域链查找过程伪代码

12、 如下代码输出什么? 写出作用域链查找过程伪代码

13、 如下代码输出什么? 写出作用域链查找过程伪代码

14、 如下代码输出什么? 写出作用域链查找过程伪代码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 函数声明和函数表达式有什么区别 函数声明语法:function functionName(arg0,arg1,ar...
    _Dot912阅读 602评论 0 3
  • 1.函数声明和函数表达式有什么区别 函数就是一段可以反复调用的代码块。函数还能接受输入的参数,不同的参数会返回不同...
    徐国军_plus阅读 501评论 0 0
  • 声明前置和作用域也是JS 部分面试常考点 1.函数声明和函数表达式有什么区别 函数声明:使用function关键字...
    湖衣阅读 220评论 0 0
  • 函数声明和函数表达式有什么区别 JavaScript 中需要创建函数的话,有两种方法:函数声明、函数表达式,各自写...
    萧雪圣阅读 976评论 2 2
  • 1.函数声明和函数表达式有什么区别 function命令声明的代码区块,就是一个函数。function命令后面是函...
    饥人谷_Leon阅读 294评论 0 0