通过var object={}  对象字面量,可以叫对象直接量来自定义一个对象

对象自面量是一个表达式,这个表达式的每次运算都创建并初始化一个新对象。每次计算对象字面量的时候,也都会计算他的每个属性值。也眩光是说,如果在一个重复调用的函数中的循环体内使用了对象的直接量,它将创建很多新对象,并且每次创建的对象的属性值也有可能不同。

演示代码:

 1 <script>
 2        var people ={x:1,y:2,z:3}   //用字面量定义一个对象,是以名值对的方式来保存的
 3        var student = {     //还可以换行写,每义定一个属性名和值,用逗号分开,最后一个不加逗号,加了会被忽略,但在ie中会报错,最好不要加
 4            "x":1,          //定义属性名的时候可以用双引号
 5            'y':2,          //定义属性名的时候可以用单引号
 6            z:12.3,         //定义属性名的时候可以加任何
 7            "for":"使用关键字来定义属性名要加上引号",  //使用关键字定义的话必须加上双引号
 8            man:{           //对象里面还可以签到对象
 9                text:null,       //对象的属性值可以是多种数据类型
10                text2:undefined,
11                married:true
12            }
13        }
14 </script>

可以通过 var obj = new Object();创建对象    演示代码:

1 <script>
2       var obj = new Object()   //创建了一个对象,object对象也是对象中的顶级对象
3       var arry = new Array()   //创建了一个数组对象
4       var date = new Date()   //创建一个时间对象
5       var reg = new RegExp("js")  //创建一个正则对象
6 </script>

通过构造函数来创建对象

通过instanceof操作符可以检测一个对象是否由某个指定的构造器函数来创建的对象

注意:

使用的时候可以通过new操作符得到对象。

用构造器创建对象的时候可以接收参数

构造器函数的首首字母最好大写,区别其他的一般函数  演示代码:

 1 <script>
 2        function Person(name,age){   //创建一个person的函数
 3           this.name =name;          //此处的this对应的是对象obj
 4           this.age = age
 5        }
 6         var obj = new Person("ziksang",21)  //用一个构造函数来创建了对象
 7           alert(obj.name)        //=>ziksang  用对象名.对象的属性来获得属性值
 8           alert(typeof obj)      //=>用typeof来检测obj是不是一个对象类型, 返回object
 9           alert(obj instanceof Person)  //=> 用instanceof 来检测objcet是不是person函数构造出来的对象,返回true
10 </script>

通过object.create来创建对象

演示代码:

1 <script>
2      var obj = Object.create({x:1})
3      var obj = Object.create(null)    //创建了一个没有原型的对象,没有任何方法
4      var obj = Object.create(obj.prototype) //创建了一个普通的空对象
5 </script>

转载于:https://www.cnblogs.com/Ziksang/p/5186491.html

js 的对象--如何定义一个对象相关推荐

  1. js 将多个对象合并成一个对象 assign方法

    js 将多个对象合并成一个对象 assign方法 ES6在Object新加的方法  assign() 1.作用:将多个对象{}  合并成一个独立对象. 2.使用方式: Object.assign(合并 ...

  2. 两个对象合并成一个对象(js、jq、es6)

    两个对象合并成一个对象(js.jq.es6) ES6之前就循环遍历咯,ES6浅拷贝的话可以用**Object.assign();**当然你如果项目里有jquery/underscore/lodash甚 ...

  3. 浅谈js函数三种定义方式 四种调用方式 调用顺序

    在Javascript定义一个函数一般有如下三种方式: 函数关键字(function)语句: function fnMethodName(x){alert(x);} 函数字面量(Function Li ...

  4. js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip

    js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会 ...

  5. js 的数组怎么push一个对象

    js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会 ...

  6. 【JS】对象方法(工作常用)

    文章目录 转数组(常用) 枚举键值对(entries) 枚举属性名(keys) 枚举属性值(values) 判断操作 删除(delete) 判断(in) 判断属性名(hasOwnProperty) 判 ...

  7. 自学JavaScript第二天- JS 进阶: 对象 函数

    自学JavaScript第二天- JS 进阶: 对象 函数 对象进阶 构造函数 使用类 类的继承 静态方法 函数进阶 方法 装饰器 高阶函数 map / reduce filter sort ever ...

  8. 1分钟搞懂什么是 JS 代理对象(proxies)

    今天我们将尝试下花 1 分钟的时间简单的了解下什么是 JS 代理对象(proxies)?我们可以这样理解,JS 代理就相当于在对象的外层加了一层拦截,在拦截方法里我们可以自定义一些个性化的逻辑,定义完 ...

  9. JS的对象与内置对象详细介绍

    感谢内容提供者:金牛区吴迪软件开发工作室 文章目录 前言 一.基本对象Object: 二.内置对象之Array: 三.内置对象之Math: 四.内置对象之Number: 五.内置对象之String: ...

最新文章

  1. 图像、视频生成大一统!MSRA+北大全华班「女娲」模型怒刷8项SOTA,完虐OpenAI DALL-E...
  2. info java module_如何在Jdk9 / java-9中解决module-info.java编译错误
  3. 如何评价英伟达9月2日凌晨发布的最强消费级显卡RTX 3090?
  4. iOS开发网络篇—文件的上传
  5. 信息学奥赛一本通(1233:接水问题)
  6. BZOJ3244 [Noi2013]树的计数 【数学期望 + 树遍历】
  7. HTML5 Canvas 和 SVG
  8. n维椭球体积公式_考前必背!数量关系、资料分析常用公式汇总!不再头大!...
  9. 基础的风光摄影技术控制
  10. 面试案例(2019)一
  11. python 画彩虹_python – 在matplotlib中,我如何绘制多色线,如彩虹
  12. 详细解说笔记本电脑怎么录视频
  13. 【毕业设计】大数据淘宝用户行为数据分析与可视化 - flink
  14. 跟我一起来申请邓白氏编码
  15. mac发送微信表情卡顿(已解决!!!!)
  16. CATIA CAA二次开发专题(三)---------创建自己的Workbench
  17. 基于Django开发的购物网站,类似于京东商城Django_Store
  18. Java网络请求代理API的设计思路
  19. Matlab进行射频TRL校准,如何使用TRL校准方式进行波导校准?
  20. 【BA三维路径规划】基于matlab改进的蝙蝠算法农用无人机三维路径规划【含Matlab源码 1514期】

热门文章

  1. 杂项-Java-百科:jar
  2. 2018年11月 打卡
  3. “光束法”和“空中三角测量”的辨析
  4. php知识点之php文件上传
  5. 近源渗透测试之Keylogger实战
  6. linux安装ssl证书步骤,centos安装SSL证书的图文教程
  7. 【Java】Java实现贪吃蛇小游戏(带详细注释)
  8. 北京54和西安80投影坐标系,高斯-克吕格投影
  9. VMware之RAID配置
  10. tkinter 使用threading启动mainloop报错:RuntimeError: Calling Tcl from different apartment