2021-02-26js学习-arguement,函数,作用域链,js代码执行流程,对象创建,new执过程.

问题:

  1. Agurement概念认识?
  2. 伪数组概念认识?
  3. 函数的两种声明方式?
  4. 函数中没有声明而直接使用的变量是全局变量吗?
  5. Js块级作用域认识?
  6. 作用域链 概念认识?
  7. Js引擎执行代码的两步是什么?
  8. Var a = b= c = 9;这个语句中对a,b,c三个变量都进行声明了吗?可以用什么表示方式替换?
  9. 对象的创建方式有三种?分别会怎么操作的?
  10. New关键字执行过程?

回答:

  1. Agurement概念认识?
    a) 它是函数的内置对象,用于存储传入的实参数据.它采用的是一种伪数组的存储方式.
    b) 适用情况,当传入的实参个数太多的情况
    c) 使用方式:与数组一样,只是不能使用数组一些方法,如pop()方法
  2. 伪数组概念认识?
    a) 指对象的数据存储是数组形式,唯一的不同的是不能使用数组中的一些数据.
  3. 函数的两种声明方式?
    a) Function 函数名(参数){};
    b) Var 函数名 = function(){}; 匿名函数声明.
  4. 函数中没有声明而直接使用的变量是全局变量吗?
    a) 是.算是javascript一个bug
  5. Js块级作用域认识?
    a) 以前js是没有块级作用域的,代表是var,
    b) Es6后添加块级作用域,代表是let,const.
    c) 建议以后使用let与const,这样与java接轨.
  6. 作用域链 概念认识?
    a) 针对内部函数访问外部函数时变量,变量名重复时,确定变量的一种方式.
    b) 采用的是链式查找,找到为主的一个方式.
    c) 产生的原因也是使用var声明变量,而var没有块级作用域的.
  7. Js引擎执行代码的两步是什么?
    a) 预解析,执行
    b) 预解析:将js中var, function 声明提前到当前作用域的最前面,这里不包括let
    c) 执行:按照代码顺序从上到下来执行代码.
  8. Var a = b= c = 9;这个语句中对a,b,c三个变量都进行声明了吗?可以用什么表示方式替换?
    a) 不是,只对a进行了声明
    b) 等同于 var a; a= 9;b=9;c=9;
  9. 对象的创建方式有三种?分别会怎么操作的?
    a) 字面量,
    b) 先创建 Object对象,再添加属性与方方
    c) 使用构造方法来创建对象.
    d) 对于独立的一个对象使用字面量创建,对于多个重复的对象,使用构造方法创建对象.
  10. New关键字执行过程?
    a) 在内存中创建一个新的空对象
    b) 让this指向这个新的对象
    c) 执行构造函数里的代码,给这个新对象添加属性和方法
    d) 返回这个新对象,

猜你喜欢

转载自blog.csdn.net/weixin_44767679/article/details/114120247