1对象的创建

  • 对象字面量:通过新建一个键值对的集合(对象字面量)创建对象
  • 通过关键字new创建对象:
  • 通过工厂方法创建对象:通过函数创建对象,函数封装了创建对象的过程,创建新对象时只需要调用该函数即可。这种方法适合于一次创建多个对象。
  • 使用构造函数创建对象
    上面虽然也是通过函数创建对象,但不是构造函数,只是普通函数。构造函数名必须以大写字母开头,函数体内没有返回语句。
  • 使用原型(prototype)创建对象:可以更改部分属性的值。
  1. 属性的增删改查

    在Java中,当实体类建立以后,类的属性只能获取与修改,不能增加与删除。但是因为JavaScript是动态类型的语言,JavaScript中对象的属性具有增删改查所有的操作。

    • 属性获取有两种方式

    • 有两种情况必须使用第二种方式:属性名含有空格字符,如student["first name"],这时不能用student.first name代替,编译器无法解释后者;属性名动态生成,比如用for循环获取前端连续id的值,这种id名之间一般有特定关系。

    • 删除属性:通过delete运算符实现。删除成功返回布尔型true,删除失败也是返回true。

      需要注意的是,对象只能删除自己特有的属性,而不能删除继承自原型对象的属性。同时,对象在删除属性时,要防止删除被其他对象继承的属性,因为这样会导致程序出错。

  2. 属性的检测和枚举

    • 属性的检测:

      console.log("name" in school);	//输出true
      
    • 枚举属性:

      for(var att in school){
      console.log(att);
      }
      
      Object.getOwnPropertyNames("枚举的对象").join("")
      //join的作用是将数组中的所有元素连接成一个字符串,并可以指定一个分隔符。
      
      Object.keys("枚举的对象")
      
  3. 数组元素的增减

    数组元素的增加

    • 在尾部添加元素,最直观的方法是直接给当前尾部元素的后一个位置赋值。

    • 第二种方法是使用push()函数,往数组的末尾添加一个或多个元素,参数是要添加的元素,返回数组长度。

    • 在头部添加元素
      unshift()方法在数组的头部添加元素,并返回数组新的长度,其余元素自动向索引大的方向移动。

    数组元素的删除 shift有删除的意思

    • 在尾部删除元素:直接修改数组长度为更小的值

    • 使用delete运算符。delete运算符后接要删除的元素,但是删除后,会有一个空占位符,所以数据的长度保持不变。

    • 使用pop(),一次删除一个,并返回被删除的元素。

    • 在头部删除元素:shift()的作用是删除数组头部一个元素并返回该元素,然后所有元素往索引值小的方向移动一位。