美文网首页
进阶任务三

进阶任务三

作者: 诺夏_ | 来源:发表于2017-07-24 09:31 被阅读0次

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

image.png image.png

什么是变量的声明前置?什么是函数的声明前置
JavaScript引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。
JavaScript引擎将函数名视同变量名,所以采用function命令声明函数时,整个函数会像变量声明一样,被提升到代码头部。

arguments 是什么
arguments对象包含了函数运行时的所有参数,arguments[0]就是第一个参数,arguments[1]就是第二个参数,以此类推。这个对象只有在函数体内部,才可以使用。

函数的"重载"怎样实现

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

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

一是不必为函数命名,避免了污染全局变量

求n!,用递归来实现

以下代码输出什么?

屏幕快照 2017-08-04 上午8.08.05副本.png

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

屏幕快照 2017-07-22 下午12.26.06.png

如下代码的输出?为什么

屏幕快照 2017-08-04 上午8.16.51副本.png

因为var a=1存在变量提升,而b未定义,会报错

如下代码的输出?为什么


屏幕快照 2017-07-24 上午9.44.18.png

采用函数表达式声明函数时,不能在声明前调用,虽然声明提升,但未被赋值,所以还是会报错。

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

function getInfo(name, age, sex){
        console.log('name:',name);
        console.log('age:', age);
        console.log('sex:', sex);
        console.log(arguments);
        arguments[0] = 'valley';
        console.log('name', name);
    }

    getInfo('饥人谷', 2, '男');
getInfo('小谷', 3);
getInfo('男');

相关文章

  • 进阶任务三

    1.函数声明和函数表达式有什么区别 函数声明 函数表达式 区别: 函数调用可以发生在函数声明之前,不能在函数表达式...

  • 进阶任务三

    函数声明和函数表达式有什么区别? 什么是变量的声明前置?什么是函数的声明前置JavaScript引擎的工作方式是,...

  • Swift多线程:GCD进阶,单例、信号量、任务组

    Swift多线程:GCD进阶,单例、信号量、任务组 Swift多线程:GCD进阶,单例、信号量、任务组

  • 进阶-任务2

    1、JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么? ...

  • 进阶-任务2

    1、JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型?原始类型和复杂类型的区别是什么? ...

  • 进阶任务-12

    ajax 是什么?有什么作用? 1. 什么是ajax AJAX 的全称为 Asynchronous JavaScr...

  • 进阶任务八

    dom对象的innerText和innerHTML有什么区别? innerText是一个可写属性,返回元素内包含的...

  • 进阶任务四

    1. 引用类型有哪些?非引用类型有哪些 基本类型值(数值、布尔值、字符串、null和undefined):指的是保...

  • 进阶任务5

    JSON(Java Script Object Notation )是一种轻量级的数据交换格式。JSON对值的类型...

  • 进阶任务五

    1. 使用数组拼接出如下字符串 ,其中styles数组里的个数不定 2. 写出两种以上声明多行字符串的方法 3. ...

网友评论

      本文标题:进阶任务三

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