您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页JS函数

JS函数

来源:二三娱乐

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

·函数声明后面没有分号,而表达式有分号。

·函数声明有声明前置,而函数表达式没有。

图中只有var test2被提升了,test2(1);会报错,不是一个函数。

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

·什么是变量声明前置:把变量的声明(var)提到作用域的最前面。

·什么是函数的声明前置:就是把整个函数(function)提升到当前作用域的最前面。

3、arguments 是什么 (*)

arguments是一个类数组对象,可以传入function内部所有的参数(本地变量),但不是函数的属性,只在函数内部有效,写法是arguments[i]依次对参数进行访问和修改。

4、函数的重载怎样实现 (**)

js中没有直接的函数重载,但是可以实现类似的效果。

①通过传入参数实现重载

·通过arguments来实现重载

console.log(sum(2,3,4));输出结果9

·函数覆盖重载

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

·立即执行函数是一个表达式,让函数在定义后就立即被执行。

(function(){})();

一、可以不必为函数命名,避免污染。

二、形成了一个单独的作用域,封装起来一些外部无法读取的私有变量。

6、什么是函数的作用域链 (****)

作用域链是内部上下文所有变量对象(包括父变量对象)的一个列表,用来查询变量的。在代码执行的时候,所有需要用到的变量现在当前的作用域中查找,如果没有,就往上面一个作用域去寻找,一直到全局作用域的寻找,如果找到就会停止(不会理会上一级可能有的同名变量),找不到就一直往上级,直到全局作用域。如果一直找不到,就报错了。

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务