对象

对象是什么

对象是属性的无序集合

  • 每个属性都是一个名/值对。
  • 属性名:是标识符或字符串
  • 属性值:任意数据类型
let student = {
  first
}

关于字符串属性名

  • 单引号双引号都可以
  • 特殊字符必须加引号
  • for关键字必须加引号

对象是js的复杂数据类型

  • 对象把很多值聚合在一起:字符串、数值、布尔值、undefined、null、函数、object

创建对象方法

创建对象有三种方法

  • 对象字面量:使用花括号包含的一组逗号分隔的名值对。
  • 构造函数法
  • 原型法

增强的对象字面量语法

  • 写入变量:ES2015允许直接写入变量和函数作为对象的属性和方法
  • 简写:如果变量名与函数属性名相同,可简写一个属性名

构造函数法

定义
构造函数就是构造函数对象的模板函数。
语法

function Fn(paral,para2){
  this.属性名 = 形参1,
  this.属性名 = 形参2
}
  • Fn:函数名。所有的构造函数名首字母要大写。
  • this:在构造函数中的this只是一个占位符
    new关键字调用函数的过程
  • 使用new调用构造函数时,在内存中创建一个空的对象
  • 确定this指向这个空对象
  • 执行函数体内的代码,给空对象添加属性
  • 返回这个对象

查询的设置属性

概述
读属性

  • 点语法
  • 方括号语法

写属性

  • 点语法
  • 方括号语法

示例:一个普通对象

let xiaoming = {
  name:'小明',
  age:'18',
  'e-mail':'134434@qq.com'
}

写属性包括:添加或修改

关联数组

  • 对象就是一种关联数组
  • 关联数组:以字符串作为索引的数组。

属性访问错误

报错简述:

  • 访问不存在的属性是undefined不会报错
  • 访问不存在的对象会报错
  • 访问unll和undefined的属性会报错

解决方案

删除属性

语法

语法 delete 对象名.属性名
语法 delete 对象名['属性名']

注意:

  • delete操作只能删除自身属性,不能删除继承属性
  • delete 表达式返回的是布尔值

检测属性

in操作符:检测属性是否存在
语法

'属性名' in 对象

hasOwnProperty():检测属性是否是自有属性

语法:

对象.hasOwnproperty('属性名')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容