ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day5

2021-02-24 14:04:21  阅读:206  来源: 互联网

标签:function myFunction 函数 对象 day5 typeof instanceof


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);

标签:function,myFunction,函数,对象,day5,typeof,instanceof
来源: https://www.cnblogs.com/nkllxj/p/14441031.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有