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 ...
随机推荐
- dp(最大分段和)
http://acm.hdu.edu.cn/showproblem.php?pid=1024 Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Othe ...
- python抓取往期双色球
import requests import json,csv ''' http://m.zhcw.com/clienth5.do?lottery=FC_SSQ&pageSize=20& ...
- k8s结合helm部署
一.安装Helm helm教程以及安装可以参考这篇文章 二.Heml说明 常见的helm模板如下 myapp - chart 包目录名 ├── charts - 依赖的子包目录,里面可以包含多个依赖的 ...
- 重绘ComboBox —— 让ComboBox多列显示
最近在维护一个winform项目,公司购买的是DevExpress控件 (请问怎么联系DevExpress工作人员? 我想询问下,广告费是怎么给的.:p),经过公司大牛们对DevExpress控件疯狂 ...
- ASE Code Search
重现基线模型 Hamel's model 基线模型原理 如何实现semantic search?在已有数据库的基础上,衡量一个句子和每段代码的相关性再进行排序,选出最优代码片段即可实现一个通用的cod ...
- linux创建相关待同步目录
[root@rsync-server-1 ~]# mkdir /data/{web,web_data}/redhat.sx -p [root@rsync-server-1 ~]# tree /data ...
- Codeforces 1215E 状压DP
题意:给你一个序列,你可以交换序列中的相邻的两个元素,问最少需要交换多少次可以让这个序列变成若干个极大的颜色相同的子段. 思路:由于题目中的颜色种类很少,考虑状压DP.设dp[mask]为把mask为 ...
- 【转载】Mysql注入点在limit关键字后面的利用方法
描写sql注入利用方法的文章数不胜数,本文将描述一种比较特殊的场景. 细节 在一次测试中,我碰到了一个sql注入的问题,在网上没有搜到解决办法,当时的注入点是在limit关键字后面,数据库是MyS ...
- Vue.js 技术揭秘学习 (3) render
Vue 的 _render 方法是实例的一个私有方法,它用来把实例渲染成一个虚拟 Node ,返回的是一个VNode 在 Vue 的官方文档中介绍了 render 函数的第一个参数是 createE ...
- VUE 生成二维码插件
原文:https://www.jianshu.com/p/496fd1cbee8d npm install qrcodejs2 --save 页面中引入 dom 结构 JS 方法编写 export d ...