分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

JS引用类型 --- Object

发布时间:2023-09-06 01:32责任编辑:苏小强关键词:暂无标签

一、对象的基础知识

  • 概念:特指的某一个事物,有特征(属性)和行为(方法),可存储数据。

  • 通俗理解:对象是一组无序键值对的集合,可存储数据。

  • 对象的属性和方法:可以通过 . 的方式添加(这一点也证明了JS是一门动态类型的语言)

  • JS中大多数引用类型的值,都是Object类型的实例

二、对象创建的 3种方式

1. {} 字面量创建对象

<script> ???var obj2 = {}; ???obj2.name = ‘zhangxin‘; ???console.log(obj2);</script>

2. new 构造函数创建对象

  • 构造函数:第一个字母大写(约定);普通函数:第一个字母小写
<script> ???var obj1 = new Object(); ???obj1.name = ‘zhangxin‘; ???console.log(obj1);</script>
  • new 构造函数,new 做了4件事:
    • 创建一个新对象

    • this指向当前创建的新对象

    • 给新对象添加 属性、方法

    • 返回 创建后的新对象

<script> ???function Computer(name, age) { ???????this.name = name; ???????this.age = age; ???????this.say = function () { ???????????return ‘我是‘ + this.name + ‘;今年‘ + this.age; ???????} ???} ???var cp = new Computer(‘电脑‘, 20); ???console.log(cp.say()); ?// 我是电脑;今年20</script>
  • new 构造函数 创建数组对象
<script> ???var arr = new Array(); ???console.log(arr); ?// [] </script>

3. Object.create({键值对}) 方法创建新对象; ES5方法,IE8及以下不兼容

<script> ???var o1 = {name: ‘zhangxin‘}; ???var create = Object.create(o1); ???console.log(create.name); ?// ‘zhangxin‘</script>

三、对象的的属性 、方法( 赋值、取值 )

方式1: . 的方式添加 / 读取:属性 、方法

方式2: [] 的方式添加 / 读取:属性 、方法(重要)

  • 重要:可添加动态的属性名、动态的方法名

  • 使用 [] 添加属性、方法:若属性名是固定的,需加引号;否则被视为 动态的变量

<script> ???var obj = {}; ???????obj.age = 20; ???obj[‘name‘] = ‘zhangxin‘; ???????console.log(obj.age); ??????// 20 ???console.log(obj[‘name‘]); ??// ‘zhangxin‘</script>

四、对象循环遍历 for-in

<script> ???var obj = {age: 18, name: ‘ss‘}; ???????for (var key in obj) { ???????consloe.log(key); ???????console.log(obj[key]); ???}</script>

五、对象深拷贝 Object.create( )

<script> ???var o1 = {name: ‘zhangxin‘}; ???var o2 = Object.create(o1); ???console.log(o2 === o1); ?// false</script>

JS引用类型 --- Object

原文地址:https://www.cnblogs.com/zxvictory/p/8120538.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved