美文网首页
函数与作用域

函数与作用域

作者: jamesXiao_ | 来源:发表于2017-05-31 16:35 被阅读0次

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

  • 函数声明

    1. 函数声明必须有函数名
    2. 函数可以在任意地方调用fn();
  • 函数表达式

    1. 前后两个函数的名字可以相同也可以不相同
    2. function 后面的这个名字是可以省略的
    3. function 后面的这个名字只能再函数内部使用
    4. 函数调用只有在函数表达式声明后调用。

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

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

  • 函数声明前置
    和变量的声明会前置一样,函数声明同样会前置

arguments 是什么

  • arguments 是JavaScript里的一个内置对象,有的函数都有属于自己的一个arguments对象,它包括了函所要调用的参数。object对象。

函数的"重载"怎样实现

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

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

  • 立即执行函数表达式有多种写法:(function(){})();, 或(function(){}()); ,或!function(){}();,或void function(){}();
  • 作用:创建一个独立的作用域。这个作用域里面的变量,外面访问不到(即避免变量污染)

求n!,用递归来实现

function factor(n){
if (n == 0) {
return 1;
}
if (n > 0) {
if(n === 1) {
return 1;
}
return n * factor(n-1);
} else if (n < 0) {
if(n === -1) {
return -1;
}
return n * factor(n+1);
}
}

相关文章

  • 执行上下文、作用域链、this、闭包

    javascript 执行的是词法作用域,即静态作用域。与之相对的是动态作用域。 静态作用域:函数的作用域在函数定...

  • 作用域和作用域链

    作用域和作用域链 作用域 作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在Java...

  • 作用域

    何为作用域 任何编程语言都有作用域的概念,简单来说,作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可...

  • JavaScript中的作用域和作用域链(一)

    作用域 1.作用域的概念: 变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。 2.全局作用域与...

  • JavaScript静态作用域解析

    静态作用域与动态作用域 因为 JavaScript 采用的是词法作用域,函数的作用域在函数定义的时候就决定了。而与...

  • 词法作用域 - 2023-02-09

    静态作用域与动态作用域 因为 JavaScript 采用的是词法作用域,函数的作用域在函数定义的时候就决定了。而与...

  • JS基础知识(2) -- 作用域和作用域链

    作用域 作用域就是变量与函数的可访问范围 全局作用域 函数作用域 ES6块级作用域 ES5没有块级作用域,ES6有...

  • 作用域链

    一、作用域 定义:作用域就是变量与函数的可访问范围。作用域控制着变量与函数的可见性和生命周期。 1、全局作用域(G...

  • JavaScript作用域学习笔记

    @(JS技巧)[JavaScript, 作用域] JavaScript作用域学习笔记 概念: 作用域就是变量与函数...

  • 我的JS笔记 -- 作用域

    作用域和作用域链概念 作用域就是变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期。在JavaSc...

网友评论

      本文标题:函数与作用域

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