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对象—对象总结(创建、属性、方法)的更多相关文章

  1. 校验正确获取对象或者数组的属性方法(babel-plugin-idx/_.get)

    背景: 开发中经常遇到取值属性的时候,需要校验数值的有效性. 例如: 获取props对象里面的friends属性 props.user && props.user.friends &a ...

  2. 定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标 show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。

    这个题让我更加明白了类创建对象的实质 代码中用到:1.对象作形参;2.对象作返回值 以下用代码具体分析: class Point1{ public double x; public double y; ...

  3. Date 对象-->概念、创建以及方法

    1.概念: Date 对象用于处理日期与时间. 2.创建: 方法1:直接用Date()函数,返回值当前时间 格式:var d = Date(); 注意:不论Date()是否带参数,返回都是当前时间 举 ...

  4. js调用activeX插件 报异常:TypeError:对象不支持 属性方法

    部署之后的js网页如果调用没有签名的 ocx/dll 插件的话会报异常:TypeError:对象不支持 “init” 属性方法 (init为插件公开的方法) 但是如果写一个htm本地文件去调用插件,和 ...

  5. js自定义对象.属性 笔记

    <一> js自定义对象 一,概述 在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtabl ...

  6. js面对对象编程

    说到js,非常大一部分人会说我非常熟悉,在日常的web开发中经经常使用,那么你的js代码是符合面对对象思路的吗?那你会问我面向过程的js代码有什么不好吗?我的感受是面对对象的js编码更加简洁,降低了混 ...

  7. js中创建对象的5种方法

    1.原始模式 var dog = { name: jack, length: 70, wang:function(){ console.log(this.name); } 2.工厂模式(批量) fun ...

  8. Python 静态方法,类方法,属性方法

    方法的使用 静态方法 - 只是名义上归类管理,实际上在静态方法里访问不了类或实例中的任何属性. class Dog(object): def __init__(self,name): self.nam ...

  9. JS对象—数组总结(创建、属性、方法)

    JS对象—数组总结(创建.属性.方法) 1.创建字符串 1.1 new Array() var arr1 = new Array(); var arr2 = new Array(6); 数组的长度为6 ...

随机推荐

  1. 域名 端口 DNs 网络

    netstat -an   查看所有 所有监听端口的使用情况

  2. java_第一年_JavaWeb(10)

    JavaWeb的两种开发模式 JSP+JavaBean框架:JavaBean负责封装数据.提供方法,JSP负责处理用户请求和显示数据:只能开发较为简单的业务: JSP+JavaBean+Servlet ...

  3. Codeforces 475D 题解(二分查找+ST表)

    题面: 传送门:http://codeforces.com/problemset/problem/475/D Given a sequence of integers a1, -, an and q ...

  4. 5.canvas

    1.canvas:固定语句:定义画布/设置绘图环境为2d. 2.canvas样式:lineWidth线宽/strokeStyle绘制样式. 3.canvas绘制矩形: Context.moveTo(x ...

  5. 升级docker至最新版本

    升级docker至最新版本 1.查找主机上关于Docker的软件包 [root@pre1 ~]# rpm -qa | grep docker docker-1.13.1-88.git07f3374.e ...

  6. linux --memcached的安装与配置

    转载:http://blog.sina.com.cn/s/blog_4829b9400101piil.html 1.准备安装包:libevent-2.0.21-stable.tar.gz 和memca ...

  7. Oracle 附加日志(supplemental log)

    参考资料: 1.https://blog.csdn.net/li19236/article/details/41621179

  8. process-hacker

    https://github.com/processhacker/processhacker#process-hacker // begin_phapppub typedef enum _PH_KNO ...

  9. bzoj3809 Gty的二逼妹子序列 & bzoj3236 [Ahoi2013]作业 莫队+分块

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3809 https://lydsy.com/JudgeOnline/problem.php?id ...

  10. uiautomator2 使用注意的地方

    uiautomator2项目地址:https://github.com/openatx/uiautomator2#basic-api-usages 下面记录一些自己在使用过程中的坑,仅供参考 1.通过 ...