JavaScript 对象

JavaScript 对象是拥有属性和方法的数据。可以使用字符来定义和创建 JavaScript 对象,定义 JavaScript 对象可以跨越多行,空格跟换行不是必须的。

JavaScript 对象属性

通常认为 “JavaScript 对象是键值对的容器”。键值对通常写法为 ​name : value​ (键与值以冒号分割)。键值对在 JavaScript 对象通常称为对象属性​,JavaScript 对象是属性变量的容器。
可以通过两种方式访问​​对象属性。
objectName.propertyName
objectName['propertyName']
两种方式访问​​对象属性的区别:
1.点方法后面跟的必须是一个指定的属性名称,而中括号方法里面可以是变量。
2.中括号方法里面的属性名可以是数字,而点方法后面的属性名不可以是数字
3.当动态为对象添加属性时,必须使用中括号​[]​,不可用点方法

更新对象属性

当你创建了一个对象后,你可以用​.​或​[]​来更新对象的属性。

var boy = {"name": "Jack","age": 8,"friends": ["Lily"]};

更改它的名称为“ Tom”,这有两种方式来更新对象的名称属性:
boy.name = “Tom”;
boy[“name”] = “Tom”;

添加对象属性

可以像更改属性一样给对象添加属性。

var boy = {"name": "Jack","age": 8,"friends": ["Lily"]};
boy.height = 130;

删除对象属性

我们同样可以删除对象的属性,例如:
var boy = {“name”: “Jack”,“age”: 8,“friends”: [“Lily”]};

var a = boy[‘age’]; // a 等于 8
// 删除 age 属性
delete boy[‘age’]; // 等价于 delete boy.age
var b = boy[‘age’]; // 等于 undefined

对象方法

对象方法是一个包含函数定义的属性。
可以通过以下语法来调用方法:
对象名.方法名()
使用了 String 对象的 toUpperCase() 方法来将文本转换为大写:

var message = "Hello";
var a = message.toUpperCase();

代码执行后,a 的值将是:HELLO
方法是作为对象属性存储的函数。

使用 [] 读取对象属性

对象构造器

使用函数来构造对象:

function person(firstname, lastname, age, friend)
{this.firstname = firstname;this.lastname = lastname;this.age = age;this.friend = friend;
}

在JavaScript中,this通常指向的是正在执行的函数本身,或者是指向该函数所属的对象(运行时)

创建 JavaScript 对象

一旦有了对象构造器,就可以创建新的对象实例

function person (name, age) {this.name = name;this.age = age;
}
var John = new person("John", 25);
var Loen = new person("Loen", 28);

对象初始化

使用英文大括号{}​创建单个对象

var John = {name: "John", age: 25};
var Loen = {name: "Loen", age: 28};

添加方法

方法是存储在对象属性中的函数,使用以下方式创建对象函数:
methodName : function() { code lines }
使用以下方式访问对象函数:
objectName.methodName()
​this​关键词是当前对象的引用,可以使用 ​this​来访问对象属性和方法。
在构造函数中定义方法:

function person(name, age) {this.name = name;  this.age = age;this.changeName = function (name) {this.name = name;}
}
var a = new person("Loen", 28);
a.changeName("John");

定义了一个名为changeName的方法,该方法是一个函数,它接受参数名称并将其分配给对象的 ​name ​属性。

也可以在构造函数外部定义一个函数,通过函数名关联到对象的属性上:

function person(name, age) {this.name= name;  this.age = age;this.birthyear = bornyear; // 关联 bornyear 函数
}
function bornyear() {return new Date().getFullYear() - this.age;
}var a = new person("Loen", 29);
document.write(a.birthyear());


以上代码中 ​new Date().getFullYear()​是获取今年完整的年份时间,将对象的 ​birthyear ​属性赋予 ​bornYear ​函数。当通过对象调用 ​bornYear ​函数时, ​bornYear ​函数中 this指向这个对象。
将函数关联到对象属性时不需要写括号。要通过对象的属性名调用函数而不是直接调用函数。

JS学习总结(7)——对象相关推荐

  1. js学习笔记(对象~堆和栈)

    对象 为什么要用对象 让参数更少,代码更简洁 什么是对象 1.现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征.比如:一个人.一部手机 2.类和对象 (1)类:描述一类事物 ...

  2. 《JS学习》Object对象

    介绍 JavaScript中的对象其实就是一组数据和功能的集合. 通过new操作符后跟要创建的对象类型的名称来创建. ​ new: ​ 从指定模具中复刻出一个一模一样的空间,此空间与外界隔离,视为实例 ...

  3. 前端JS学习笔记——内置对象Math、Date 、Array、String

    目录 1.Math常用方法 2.Date()方法 如何获取Date的时间戳 Date()方法的使用 格式化日期时间 格式化输出一串时间日期 倒计时功能 3.Array方法 创建数组对象的两种方法 检测 ...

  4. js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的

    4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...

  5. JavaScript 学习(2) - JS的内建对象

    JS中的对象 JS对象介绍 String 对象 与C#中的string相比, JS中的这个对象为HTML增加了一些特别的功能,比如Anchor方法等.但是, 怎么才能把Anchor返回的字符串转换成D ...

  6. node.js学习随笔

    Node的文件和文件系统API位于fs模块中: var fs=require("fs")//加载文件系统API 同步读取文件,通过传递编码获得文本而非字节: var text = ...

  7. node.js学习笔记

    # node.js学习笔记标签(空格分隔): node.js---## 一 内置模块学习 ### 1. http 模块 ``` //1 导入http模块 const http =require('ht ...

  8. JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】

    w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...

  9. WebGL three.js学习笔记 6种类型的纹理介绍及应用

    WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...

  10. js中关于Blob对象的介绍与使用

    js中关于Blob对象的介绍与使用 blob对象介绍 一个 Blob对象表示一个不可变的, 原始数据的类似文件对象.Blob表示的数据不一定是一个JavaScript原生格式 blob对象本质上是js ...

最新文章

  1. 第六章:面向对象(下)
  2. 数据结构第5章例题 若矩阵Am×n中存在某个元素aij满足:aij是第i行中的最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。试编写一个算法,找出A中的所有鞍点。
  3. java 四舍五入_《JAVA编程思想》5分钟速成:1-4章:概述
  4. 针对媒体不实报道误导大众--抹黑C#工资垫底
  5. 【渝粤题库】陕西师范大学201721 数学教育学 作业(专升本)
  6. 还是畅通工程(思想+代码)
  7. 使用javascript操作cookies的实例
  8. 采用计算机控制的实例,计算机控制系统的实例
  9. 2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛) CEGHI 题解
  10. FMEA在汽车开发过程中的实施-SunFMEA
  11. centos 6 下远程桌面工具
  12. word解除限制编辑(亲测有效)
  13. 回归方程有效性的检查
  14. Python print() 函数,在同一行打印
  15. 傻瓜式PHP模版,poscms傻瓜式开发模块
  16. Python语言程序设计--猫和老鼠小游戏
  17. 单机安装Hive和Zepplin
  18. 全志F1C芯片参数对比,供查阅
  19. LAMP兄弟连-招募PHP技术讲师
  20. 基于Linux+ARM的远程视频监控--系列开题

热门文章

  1. JavaWeb——Servlet(入门必备,web请求与响应的底层)
  2. oracle中clob和blob,Oracle中的BLOB和CLOB
  3. 《计算机操作系统》练习题
  4. TypeScript:函数进阶
  5. Java进阶:SpringMVC中获取Restful风格的参数(从请求路径中获取参数 )
  6. 开源API网关系统:Kong简介
  7. Python(字符编码)
  8. 工作心得_在做算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?
  9. cartographer探秘第四章之代码解析(四) --- 后端优化 --- 约束计算
  10. 实操教程 | 深度学习pytorch训练代码模板(个人习惯)