Day5

1-js 组成?

  ecmascript 基本语法 变量
  BOM 浏览对象模型 数据类型 Number string boolr
  DOM 文档对象模型

2-js 中有哪些数据类型?

        string  number boolean null undefined array object function

3-typeof 和 instanceof 的区别

  typeof:用于判断基本数据类型,返回值类型是字符串
  instanceof:用于判断对象的具体类型,返回值类型是Boolean

4-怎么判断两个对象相等


  // 用来过滤掉简单的类型比较,复杂的对象使用 deepEq 函数进行处理

  function eq(a, b) {
  // === 结果为 true 的区别出 +0 和 -0
  if (a === b) return a !== 0 || 1 / a === 1 / b;

  // typeof null 的结果为 object ,这里做判断,是为了让有 null 的情况尽早退出函数
  if (a == null || b == null) return false;

  // 判断 NaN
  if (a !== a) return b !== b;

  // 判断参数 a 类型,如果是基本类型,在这里可以直接返回 false
  var type = typeof a;
  if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;

  // 更复杂的对象使用 deepEq 函数进行深度比较
  return deepEq(a, b);
};

 

5-js 中函数有哪些定义方式?

  命名函数:

      function fn (){
        console.log("命名函数");
      }
      fn();

  匿名函数:
      function(){
        console.log("匿名函数")
      })
      ();

6-js 中函数有哪些调用形式?

  ①以函数形式调用  

    function fun(){
        alert("hello world");
    }
    fun();

  ②函数作为对象方法调用

    var myObject = {
        firstName:"John",
        lastName: "Doe",
        fullName: function () {
            return this.firstName + " " + this.lastName;
        }
    }
myObject.fullName();

  ③使用构造函数调用函数

    // 构造函数:
    function myFunction(arg1, arg2) {
        this.firstName = arg1;
        this.lastName  = arg2;
    }

    // This creates a new object
    var x = new myFunction("John","Doe");
    x.firstName;            

  ④使用apply()和call()方法调用

     call()方法

    function myFunction(a, b) {
        return a * b;
    }    
    myFunction.call(myObject, 10, 2);
    

    apply()

    function myFunction(a, b) {
        return a * b;
    }
    myArray = [10,2];
    myFunction.apply(myObject, myArray);
posted @ 2021-02-03 19:20  warisFairy  阅读(41)  评论(0)    收藏  举报