JS学习总结(7)——对象
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)——对象相关推荐
- js学习笔记(对象~堆和栈)
对象 为什么要用对象 让参数更少,代码更简洁 什么是对象 1.现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征.比如:一个人.一部手机 2.类和对象 (1)类:描述一类事物 ...
- 《JS学习》Object对象
介绍 JavaScript中的对象其实就是一组数据和功能的集合. 通过new操作符后跟要创建的对象类型的名称来创建. new: 从指定模具中复刻出一个一模一样的空间,此空间与外界隔离,视为实例 ...
- 前端JS学习笔记——内置对象Math、Date 、Array、String
目录 1.Math常用方法 2.Date()方法 如何获取Date的时间戳 Date()方法的使用 格式化日期时间 格式化输出一串时间日期 倒计时功能 3.Array方法 创建数组对象的两种方法 检测 ...
- js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的
4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...
- JavaScript 学习(2) - JS的内建对象
JS中的对象 JS对象介绍 String 对象 与C#中的string相比, JS中的这个对象为HTML增加了一些特别的功能,比如Anchor方法等.但是, 怎么才能把Anchor返回的字符串转换成D ...
- node.js学习随笔
Node的文件和文件系统API位于fs模块中: var fs=require("fs")//加载文件系统API 同步读取文件,通过传递编码获得文本而非字节: var text = ...
- node.js学习笔记
# node.js学习笔记标签(空格分隔): node.js---## 一 内置模块学习 ### 1. http 模块 ``` //1 导入http模块 const http =require('ht ...
- JavaScript学习笔记04【高级——DOM和事件的简单学习、BOM对象】
w3school 在线教程:https://www.w3school.com.cn JavaScript学习笔记01[基础--简介.基础语法.运算符.特殊语法.流程控制语句][day01] JavaS ...
- WebGL three.js学习笔记 6种类型的纹理介绍及应用
WebGL three.js学习笔记 6种类型的纹理介绍及应用 本文所使用到的demo演示: 高光贴图Demo演示 反光效果Demo演示(因为是加载的模型,所以速度会慢) (一)普通纹理 计算机图形学 ...
- js中关于Blob对象的介绍与使用
js中关于Blob对象的介绍与使用 blob对象介绍 一个 Blob对象表示一个不可变的, 原始数据的类似文件对象.Blob表示的数据不一定是一个JavaScript原生格式 blob对象本质上是js ...
最新文章
- 第六章:面向对象(下)
- 数据结构第5章例题 若矩阵Am×n中存在某个元素aij满足:aij是第i行中的最小值且是第j列中的最大值,则称该元素为矩阵A的一个鞍点。试编写一个算法,找出A中的所有鞍点。
- java 四舍五入_《JAVA编程思想》5分钟速成:1-4章:概述
- 针对媒体不实报道误导大众--抹黑C#工资垫底
- 【渝粤题库】陕西师范大学201721 数学教育学 作业(专升本)
- 还是畅通工程(思想+代码)
- 使用javascript操作cookies的实例
- 采用计算机控制的实例,计算机控制系统的实例
- 2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛) CEGHI 题解
- FMEA在汽车开发过程中的实施-SunFMEA
- centos 6 下远程桌面工具
- word解除限制编辑(亲测有效)
- 回归方程有效性的检查
- Python print() 函数,在同一行打印
- 傻瓜式PHP模版,poscms傻瓜式开发模块
- Python语言程序设计--猫和老鼠小游戏
- 单机安装Hive和Zepplin
- 全志F1C芯片参数对比,供查阅
- LAMP兄弟连-招募PHP技术讲师
- 基于Linux+ARM的远程视频监控--系列开题
热门文章
- JavaWeb——Servlet(入门必备,web请求与响应的底层)
- oracle中clob和blob,Oracle中的BLOB和CLOB
- 《计算机操作系统》练习题
- TypeScript:函数进阶
- Java进阶:SpringMVC中获取Restful风格的参数(从请求路径中获取参数 )
- 开源API网关系统:Kong简介
- Python(字符编码)
- 工作心得_在做算法工程师的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进?
- cartographer探秘第四章之代码解析(四) --- 后端优化 --- 约束计算
- 实操教程 | 深度学习pytorch训练代码模板(个人习惯)