码迷,mamicode.com
首页 > 编程语言 > 详细

Javascript 基础学习(六)js 的对象

时间:2020-02-17 23:56:45      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:引用数据类型   影响   修改   删除   function   循环   javascrip   lse   添加   

定义

对象是JS中的引用数据类型。对象是一种复合数据类型,在对象中可以保存多个不同数据类型的属性。使用typeof检查一个对象时,会返回object。

分类

内置对象

由ES标准定义的对象,在任何ES的实现中都可以实现。比如 Math String Number Boolean Function Object...

宿主对象

由 JS 的运行环境提供的对象,主要指由浏览器提供的对象。比如 BOM DOM

自定义对象

由开发人员自己创建的对象

创建自定义对象

//方式一
var obj = new Object(); //使用 new 关键字调用的函数,是构造函数
//方式二
var obj = {};

对象的属性

属性名

  • 对象的属性名不强制遵守标识符规范,可以使用任何名字,如 obj.var = "hello"
  • 如果需要使用特殊属性名,如 obj.123 = "hello",必须使用另一种赋值方式:对象["属性名"] = "属性值"。读取时也必须使用采用上述方式
  • 在 [] 中直接传递一个变量,变量值是多少就读取相应属性,更加灵活

属性值

  • JS 对象的属性值可以是任意的数据类型。也可以是一个对象

向对象中添加属性

  • 语法:对象.属性名 = 属性值 或 对象["属性名"] = 属性值
  • 对象的属性名没有任何要求,不需要遵守标识符的规范,但是在开发中,尽量按照标识符的要求去写。
  • 属性值也可以任意的数据类型。

读取对象中的属性

  • 语法:对象.属性名 或 对象["属性名"]
  • 如果读取一个对象中没有的属性,它不会报错,而是返回一个undefined

删除对象中的属性

  • 语法:delete 对象.属性名 或 delete 对象["属性名"]

使用in检查对象中是否含有指定属性

  • 语法:"属性名" in 对象
  • 如果在对象中含有该属性,则返回true,如果没有则返回false。

枚举对象中的属性

  • 语法:for(var 属性名 in 对象){ ... }
  • for...in语句的循环体会执行多次,对象中有几个属性就会执行几次,每次讲一个属性名赋值给我们定义的变量,我们可以通过它来获取对象中的属性

基本数据类型和引用数据类型

  • 基本数据类型:String Number Boolean Null Undefined
  • 引用数据类型:Object
  • JS 中的变量都是保存到栈内存中
    • 基本数据类型
      • 基本数据类型的值直接在栈内存中存储,变量是直接保存的它的值。
      • 变量与变量之间是互相独立的,修改一个变量不会影响其他的变量。
    • 引用数据类型
      • 对象是保存到堆内存中,每创建一个新的对象,就会在堆内存中开辟出一个新的空间
      • 引用数据类型的数据,变量是保存的对象的引用(内存地址)
      • 如果多个变量指向的是同一个对象,此时修改一个变量的属性,会影响其他的变量。
    • 比较两个变量时,对于基本数据类型,比较的就是值,对于引用数据类型比较的是地址,地址相同才相同

使用对象字面量,在创建对象时直接向对象中添加属性

var obj = {
    属性名:属性值,
    属性名:属性值,
    属性名:属性值,
    属性名:属性值
}

Javascript 基础学习(六)js 的对象

标签:引用数据类型   影响   修改   删除   function   循环   javascrip   lse   添加   

原文地址:https://www.cnblogs.com/Yee-Q/p/12324380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!