javascript对象的创建和访问


Posted in Javascript onMarch 08, 2016

JavaScript,很少能让人想到它面向对象的特性,甚至有人说它不是面向对象的语言,因为它没有类。没错, JavaScript 真的没有类,但 JavaScript 是面向对象的语言。 JavaScript 只有对象,对象就是对象,不是类的实例。
因为绝大多数面向对象语言中的对象都是基于类的,所以经常有人混淆类的实例与对象的概念。对象就是类的实例,这在大多数语言中都没错,但在 JavaScript 中却不适用。JavaScript 中的对象是基于原型的。

创建和访问

JavaScript 中的对象实际上就是一个由属性组成的关联数组,属性由名称和值组成,值的类型可以是任何数据类型,或者函数和其他对象。注意 JavaScript 具有函数式编程的特性,所以函数也是一种变量,大多数时候不用与一般的数据类型区分。

在 JavaScript 中,你可以用以下方法创建一个简单的对象:

var foo = {};
foo.prop_1 = 'bar';
foo.prop_2 = false;
foo.prop_3 = function() {
return 'hello world';
}
console.log(foo.prop_3());

以上代码中,我们通过 var foo = {}; 创建了一个对象,并将其引用赋值给 foo,
通过 foo.prop1 来获取它的成员并赋值,其中 {} 是对象字面量的表示方法,也可以用 var foo = new Object() 来显式地创建一个对象。
1. 使用关联数组访问对象成员
我们还可以用关联数组的模式来创建对象,以上代码修改为:

var foo = {};
foo['prop1'] = 'bar';
foo['prop2'] = false;
foo['prop3'] = function() {
return 'hello world';
}

在 JavaScript 中,使用句点运算符和关联数组引用是等价的,也就是说任何对象(包括
this 指针)都可以使用这两种模式。使用关联数组的好处是,在我们不知道对象的属性名称的时候,可以用变量来作为关联数组的索引。例如:

var some_prop = 'prop2';
foo[some_prop] = false;

2.使用对象初始化器创建对象
上述的方法只是让你对JavaScript对象的定义有个了解,真正在使用的时候,我们会采用下面这种更加紧凑明了的方法:

var foo = {
  'prop1': 'bar',
  prop2: 'false',
  prop3: function (){
  return 'hello world';
  }
};

这种定义的方法称为对象的初始化器。注意,使用初始化器时,对象属性名称是否加引号是可选的,除非属性名称中有空格或者其他可能造成歧义的字符,否则没有必要使用引号。

以上就是javascript创建和访问对象的实现方法,希望对大家的学习有所帮助。

Javascript 相关文章推荐
比较详细的关于javascript中void(0)的具体含义解释
Aug 02 Javascript
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
javascript 导出数据到Excel(处理table中的元素)
Dec 18 Javascript
ExtJS[Desktop]实现图标换行示例代码
Nov 17 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
Feb 04 Javascript
Bootstrap 布局组件(全)
Jul 18 Javascript
深入理解vue中slot与slot-scope的具体使用
Jan 26 Javascript
详解Vue基于 Nuxt.js 实现服务端渲染(SSR)
Apr 05 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
Aug 31 Javascript
js贪心算法 钱币找零问题代码实例
Sep 11 Javascript
vue项目在线上服务器访问失败原因分析
Aug 14 Javascript
JS代码实现页面切换效果
Jan 10 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 #Javascript
使用JQuery实现智能表单验证功能
Mar 08 #Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
Mar 08 #Javascript
JS实现设置ff与ie元素绝对位置的方法
Mar 08 #Javascript
Angularjs material 实现搜索框功能
Mar 08 #Javascript
jQuery控制frames及frame页面JS的方法
Mar 08 #Javascript
三种Node.js写文件的方式
Mar 08 #Javascript
You might like
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
jQuery学习笔记之jQuery选择器的使用
2010/12/22 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
javascript怎么禁用浏览器后退按钮
2014/03/27 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
javascript类型系统——undefined和null全面了解
2016/07/13 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
用Python的Django框架编写从Google Adsense中获得报表的应用
2015/04/17 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
python topk()函数求最大和最小值实例
2020/04/02 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
python 下载文件的几种方法汇总
2021/01/06 Python
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
Notino意大利:购买香水和化妆品
2018/11/14 全球购物
介绍一下Java的安全机制
2012/06/28 面试题
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
最经典的商业地产项目广告词
2014/03/13 职场文书
班级团队活动方案
2014/08/14 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
离婚案件答辩状
2015/05/22 职场文书
化工厂员工工作总结
2015/10/15 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
web前端之css水平居中代码解析
2021/05/20 HTML / CSS
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android
mysql事务对效率的影响分析总结
2021/10/24 MySQL
mysql创建存储过程及函数详解
2021/12/04 MySQL
Mysql如何实现不存在则插入,存在则更新
2022/03/25 MySQL