day5

1-js 组成?

  1、ECMAScript(JavaScript语法 )

  2、DOM页面文档对象模型

  3、BOM 浏览器对象模型

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

  Undefined、Null、Boolean、Number和String。
  Object本质是一组无序的名值对组成的。
  undefined,使用var声明变量,但是未对初始化的,这个变量就是Undefined类型的

3-typeof 和 instanceof 的区别

  1、typeof返回结果是该类型的字符串形式表示(number、string、undefined、boolean、function、object)

    注意:

                 typeof对于原始类型来说,除了null都可以显示正确类型

                 typeof对于对象来说,除了函数都会显示object

  2、instanceof是用来判断 A 是否为 B 的实例,表达式为:A instanceof B,如果 A 是 B 的实例,则返回 true,否则返回 false。 在这里需要特别注意的是:instanceof 检测的是原型。 

  3、typeof能够检测出了null之外的原型类型(String、Number、Boolean、Undefined),对于对象类型能判断出function、其他的都为Object

  4、Array.isArray()判断一个值是否为数组

  5、如果需要判断一个值是否为null,最直接就是与null比较

  无论是typeof还是instanceof都不能准确判断出正确的类型。

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

  1):通过JSON.stringify(obj)来判断两个对象转后的字符串是否相等

    优点:用法简单,对于顺序相同的两个对象可以快速进行比较得到结果

    缺点:这种方法有限制就是当两个对比的对象中key的顺序不是完全相同时会比较出错

  2):getOwnPropertyNames该方法可以将Object对象的第一层key获取到并返回一个由第一层key组成的数组。

    优点:相对方法一进行了优化,可以应对不同顺序的Object进行比较,不用担心顺序不同而对比出错

    缺点:从方法中可以看到只能获取到第一层的key组成的数组,当对象是复合对象时无法进行多层对象的比较

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

  1:普通函数

    函数表达式   let a= function(){}

    函数声明  let function a(){}

    匿名函数  function(){}

  2:箭头函数

    参数和函数体不同,*的去掉小括号和大括号。
    箭头函数中,不需要写function。

  3:对象中的函数

  {
    a:function(){}
  }

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

  1.以函数形式调用

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

  2.函数作为对象方法调用

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

3.使用构造函数调用函数

function myFunction(arg1, arg2) {
    this.firstName = arg1;
    this.lastName  = arg2;
}
var x = new myFunction("John","Doe");
x.firstName;

4.使用apply()和call()方法调用

     apply()

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

    call()

function myFunction(a, b) {
    return a * b;
}
myArray = [10,2];
myFunction.apply(myObject, myArray);
上一篇:day5方法


下一篇:[2021.8纪中集训Day5]