JS对象—对象总结(创建、属性、方法)
1、创建对象Object
1.1 字面量的方式创建

1.2 new Object()

1.3 构造函数创建

1.4 工厂模式

1.5 Object.create() ES5新增方法

Object.create(); 参数是一个对象,并且该对象作为新创建对象的原型。
2、对象属性的操作
2.1 访问属性
通常通过 obj.attr 或者obj['attr'] 来访问属性,但是如果属性名称为关键字或者保留字的时候,要通过 obj['attr'] 访问,所以要注意变量的命名,尽量不要用关键字和保留字。
2.2 属性赋值


当对象存在但是属性不存在的时候,给对象添加一个属性。
2.3 删除属性
delete 一元运算符,可用来删除对象中的一个属性,不会返回删除的属性。

在删除数组中元素的时候,删除了属性,但数组中的站位还在,长度不变。
2.4 检测属性
in 检测对象的自有属性和继承属性中是否有该属性。有则返回true, 否则返回false。

hasOwnProperty() hasOwnProperty方法只能测试当前属性是不是对象的自有属性

propertylsEnumerable() 只有当当前的属性是自有属性,并且是可枚举的的时候,这一方法才会返回true。
2.5 枚举属性
for/in 其可以遍历对象中的所有的可枚举属性,包括当前对象的自有属性和继承属性。

Object.keys() 遍历对象的自有属性,返回的是一个数组,其中存在的是对象中的可枚举属性名称组成。

Object.getOwnPropertyNames() 其返回的是数组,但是是所有的自有属性名称的数组。
2.6. Object.assign(target, ...resouce); 将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。
target: 目标对象 resouce: 源对象
JS对象—对象总结(创建、属性、方法)的更多相关文章
- 校验正确获取对象或者数组的属性方法(babel-plugin-idx/_.get)
背景: 开发中经常遇到取值属性的时候,需要校验数值的有效性. 例如: 获取props对象里面的friends属性 props.user && props.user.friends &a ...
- 定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标 show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。
这个题让我更加明白了类创建对象的实质 代码中用到:1.对象作形参;2.对象作返回值 以下用代码具体分析: class Point1{ public double x; public double y; ...
- Date 对象-->概念、创建以及方法
1.概念: Date 对象用于处理日期与时间. 2.创建: 方法1:直接用Date()函数,返回值当前时间 格式:var d = Date(); 注意:不论Date()是否带参数,返回都是当前时间 举 ...
- js调用activeX插件 报异常:TypeError:对象不支持 属性方法
部署之后的js网页如果调用没有签名的 ocx/dll 插件的话会报异常:TypeError:对象不支持 “init” 属性方法 (init为插件公开的方法) 但是如果写一个htm本地文件去调用插件,和 ...
- js自定义对象.属性 笔记
<一> js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtabl ...
- js面对对象编程
说到js,非常大一部分人会说我非常熟悉,在日常的web开发中经经常使用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,降低了混 ...
- js中创建对象的5种方法
1.原始模式 var dog = { name: jack, length: 70, wang:function(){ console.log(this.name); } 2.工厂模式(批量) fun ...
- Python 静态方法,类方法,属性方法
方法的使用 静态方法 - 只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性. class Dog(object): def __init__(self,name): self.nam ...
- JS对象—数组总结(创建、属性、方法)
JS对象—数组总结(创建.属性.方法) 1.创建字符串 1.1 new Array() var arr1 = new Array(); var arr2 = new Array(6); 数组的长度为6 ...
随机推荐
- 关于Python学习的一点说明
关于Python学习的一点说明 我是用什么地方的资料来学习python的呢? 答案当然是鼎鼎大名的GitHub了. 5万多星推荐,100天让你从入门到精通,你值得拥有,点我进入查看
- [APIO 2010] [LOJ 3144] 奇怪装置 (数学)
[APIO 2010] [LOJ 3144] 奇怪装置 (数学) 题面 略 分析 考虑t1,t2时刻坐标相同的条件 \[\begin{cases} t_1+\lfloor \frac{t_1}{B} ...
- [LOJ 3101] [Luogu 5332] [JSOI2019]精准预测(2-SAT+拓扑排序+bitset)
[LOJ 3101] [Luogu 5332] [JSOI2019]精准预测(2-SAT+拓扑排序+bitset) 题面 题面较长,略 分析 首先,发现火星人只有死和活两种状态,考虑2-SAT 建图 ...
- Appium+Python之元素定位和操作
一.常用识别元素的工具 uiautomatorviewer:Android SDK自带的一个工具,在tools目录下 二.元素定位 1.格式:find_element_by_定位方式(va ...
- C# ASP.NET 手写板并生成图片保存
前端: @{ Layout = null; } <!DOCTYPE html> <html lang="zh-CN"> <head> <t ...
- Azkaban和Oozie的区别
Azkaban和Oozie的区别: 当前,实际生产中最流行的两种Hadoop工作流引擎是Azkaban与Oozie.但活跃度最高的当是Azkaban了,下面对两者的异同之处作如下对比. 功能对比 Az ...
- Git的基本操作命令
Git的基本命令 ## Git命令行 ### 查看配置 ```d git config user.name //查看用户名 git config user.email //查看邮箱 ``` ### 全 ...
- 13Ajax和JQuery
1.Ajax 1.1是什么? “Asynchronous Javascript And XML”(异步JavaScript和XML), 并不是新的技术,只是把原有的技术,整合到一起而已. 1.使用CS ...
- F1函数csdn 是否支持版本
https://docs.microsoft.com/zh-cn/windows/desktop/api/winsock2/nf-winsock2-wsaioctl
- QTextStream写文件中文乱码解决办法
1.首先把Qt Creator的编辑器设置为使用 UTF-8: 工具-->选项-->文本编辑器-->行为,在右侧选项界面找到文件编码选项,设置为 UTF-8.2.使用 QText ...