2020.4.14 JavaScript对象

发布于 2020-04-14  39 次阅读


Table of Contents

1.复习内容

2.灵感代办

3.学习内容

  • 如何学习一门语言

  • JavaScript对象

    • 非匿名函数的缺陷

      • window对象的污染问题
      • js中所有的全局变量,函数都会自动成为window成员
      • 全局变量会自动升级为window的成员
      • 覆盖了原有成员:如果window包含该成员或者函数,那么将替换掉windows的默认成员函数
      • 不同开发人员,覆盖了相互创建的方法
      • 解决办法:使用匿名函数
    • 匿名函数:

      • 没有名称的函数
      • var work = function (){} 就是一个匿名函数
      • 有一个细微的不同之处,需要百度
      • 匿名函数的两种用法
        • 匿名自调函数

          • (function (参数1,参数2))(实参)
          • 缺点是只能调用一次
        • 匿名回调(callback)函数

          • 在指定事件发生时,由Js解释器自动调用的函数
          • 两种方式:
            • onclick=“functionName()” 执行的函数
            • setInterval(匿名函数,时间间隔)
    • Js定时器函数

      • setInterval(函数名,时间间隔)
    • 识别符 #idName 都是window的变量

      • 可以直接使用 idName
      • idName就是一个对象,可以直接使用属性,方法
    • JavaScript对象

      • 对象:是一组数据和属性操作的集合
      • Object=Field+Method
      • Js中创建对象有很多种方法

        1. 一般不用定义类(class)
        2. 最常用的是“对象直接量”法,例如
        3. var user2 = {userName:”wangjie”,age:25,print:function(){}};
    • JavaScript中对象的分类

      1. ES原生对象
      2. 宿主对象
        • window,document,location,id,class
      3. 用户自定义对象
        1. var object = {name:”wangjie”}
    • ES原生对象 -Array

      • 数组:是一种特殊的对象,可以保存多个数据
        • 创建数组

          • var 数组名=[]; //长度为零的数组
          • var 数组名=new Array(值1,值2);
          • var 数组名=new Array(100); //数组长度
        • 修改数组

          • 数组[下标] = 值
        • 增加一个数组元素

          • array[array.length] = 元素
        • 遍历数组

          • for循环遍历,for循环可以指定步数,从后往前遍历,更加灵活一些
          • 数组名.forEach(callback) //每一个元素,执行一次函数,可以是一个匿名参数 ,function(value,index){}参数1是值,参数2是下标
        • 在数组末尾删除插入操作

          • 栈式操作
          • 数组.push() 入栈
          • 数组.pop() 出栈,返回删除的元素
        • 在数组的头部添加删除元素

          • shift 删除数组的第一个元素
          • unshift 在数组开头添加一个元素
        • 拼接数组中的每个元素
          • var string = array.join(“-”)
        • 数组的常用

          • Array.length 数组的长度
          • parsetInt()
          • parsetFloat()

4.扩展延伸知识

  • arguments 对象

    • arguments类似一个数组,由下标和值组成,是传递过来的参数位数
    • arguments可以用length 获取长度
    • 可以判断函数长度,模拟函数重载
  • Function 对象(类)

    • 用来理解函数的创建,
    • Function用来表示定义的函数(function)
    • 创建对象的方法来创建函数,new function(arg1,arg2,functionbody) //参数都是字符串
    • Function 对象的 length 属性可以看函数个数
  • this的多种指向

    • 1、在对象方法中, this 指向调用它所在方法的对象。
    • 2、单独使用 this,它指向全局(Global)对象。
    • 3、函数使用中,this 指向函数的所属者。
    • 4、严格模式下函数是没有绑定到 this 上,这时候 this 是 undefined。
    • 5、在 HTML 事件句柄中,this 指向了接收事件的 HTML 元素。
    • 6、apply 和 call 允许切换函数执行的上下文环境(context),即 this 绑定的对象,可以将 this 引用到任何对象。

5.知识内容个人梳理

6.今天都复习了之前的什么内容