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

定义

对象是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 = {
    属性名:属性值,
    属性名:属性值,
    属性名:属性值,
    属性名:属性值
}

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

时间: 2024-09-30 14:41:39

Javascript 基础学习(六)js 的对象的相关文章

js基础学习之-js包装对象

1 var test = "test"; 2 test.a = "hello"; 3 console.log(test.a); //undifined 定义: 在JavaScript中,“一切皆对象”,数组和函数本质上都是对象,就连三种原始类型的值——数值.字符串.布尔值——在一定条件下,也会自动转为对象,也就是原始类型的“包装对象”. 通俗来讲: 字符串,数值,字符串,这些单身狗看其它人都有对象,非常不爽,所以自己也搞了个对象,名字叫包装. 1 console.l

JavaScript基础学习(六)—函数

一.函数的定义 1.function语句形式 //1.function语句式 function test1(){ alert("I am test1"); } test1(); 2.函数直接量形式 //2.函数直接量形式 var test2 = function(){ alert("I am test2"); } test2(); 3.通过Function构造函数形式 Function构造函数可以接收任意数量的参数,但最后一个参数始终都被看成函数体.我们不推荐使用,

javascript基础学习(六)

javascript之对象 学习要点: 对象的属性和方法 对象的原型 一.对象 对象其实就是一种引用类型,而对象的值就是引用对象的实例. 二.创建对象 在javascript中有两种对象,一种是系统内置对象,另一种是用户自己创建的对象. 1.使用构造函数创建内置对象 在javascript中有很多内置的对象,每个内置的对象都有一个构造函数,直接使用构造函数就可以创建并初始化一个对象. 在javascript中可以使用new运算符来调用构造函数创建对象.如:var myObject=new Obj

javascript 基础学习整理 二 之 html对象总结,参考W3C

Anchor 对象 更改一个链接的文本.URL 以及 target 使用 focus() 和 blur() 向超链接添加快捷键 Document 对象 使用 document.write() 向输出流写文本 使用 document.write() 向输出流写 HTML 返回当前文档的标题 返回当前文档的 URL 返回当前文档的 referrer 返回下载当前文档的服务器域名 使用 getElementById() 使用 getElementsByName() 打开一个新的文档,添加一些文本,然后

JavaScript 基础学习1-day14

JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Netscape(网景)接收Nombas的理念,(Brendan Eich)在其Netscape Navigator

javascript基础学习(八)

javascript之日期对象 学习要点: 日期对象 将日期对象转换为字符串 将日期对象中的日期和时间转换为字符串 日期对象中的日期 日期对象中的时间 设置日期对象中的日期 设置日期对象中的时间 与毫秒相关的方法 一.日期对象 在javascript中并没有日期型的数据类型,但是提供了一个日期对象可以操作日期和时间. 日期对象的创建: new Date(); 二.将日期对象转换为字符串 将日期对象转换为字符串可以使用以下4种方法: date.toString();//将日期对象转换为字符串时,采

javascript基础学习(二)

javascript的数据类型 学习要点: typeof操作符 五种简单数据类型:Undefined.String.Number.Null.Boolean 引用数据类型:数组和对象 一.typeof操作符 typeof操作符用来检测变量的数据类型,操作符可以操作变量也可以操作字面量. 对变量或值运用typeof操作符得到如下值: undefined----如果变量是Undefined类型: boolean-------如果变量是Boolean类型: number-------如果变量是Numbe

javascript基础学习(三)

javascript之运算符 学习要点: 表达式 运算符:一元运算符,算术运算符,关系运算符,逻辑运算符,*位运算符,赋值运算符 一.表达式 表达式有常量表达式,变量表达式,复合表达式. 二.算术运算符 一元:+(正号).-(负号).++.—— 二元:*./.%.+.- 三.关系运算符 ==.=== ps:等同运算符比相等运算符要求更为严格,等同运算符只有在两个操作数类型相同,并且值也相同的情况下才会返回true. <.<=.>.>= instanceof运算符.       in

javascript基础学习(四)

javascript之流程控制语句 学习要点: 表达式语句含义 选择语句:if.if...else.switch 循环语句:while.do...while.for.for...in 跳转语句:break.continue 异常处理语句:throw.try...catch...finally 一.表达式语句 表达式语句通常是赋值语句.函数或方法调用语句等. 二.选择语句 if(条件表达式)语句;  if(条件表达式){语句;}else{语句;}   还有就是if...lese的嵌套 switch

JavaScript 基础学习(二)

JavaScript 基础学习(二) instanceof方法: var s = "hello"; var i = 8; //typeof 只能判断基本数据类型 alert(typeof(s)); alert(typeof (i)); //对于引用数据类型,用instanceof var s2=new String("hello2") alert(typeof(s2)); alert(s2 instanceof String);//true var n = new