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 动态添加事件代码
Nov 30 Javascript
jQuery数据显示插件整合实现代码
Oct 24 Javascript
Js 时间间隔计算的函数(间隔天数)
Nov 15 Javascript
一个判断抢购时间是否到达的简单的js函数
Jun 23 Javascript
基于jQuery实现网页进度显示插件
Mar 04 Javascript
JavaScript模仿Pinterest实现图片预加载功能
Oct 25 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
Mar 15 Javascript
Angular 利用路由跳转到指定页面的指定位置方法
Aug 31 Javascript
微信小程序配置服务器提示验证token失败的解决方法
Apr 03 Javascript
Vue项目路由刷新的实现代码
Apr 17 Javascript
基于Node的Axure文件在线预览的实现代码
Aug 28 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
Aug 06 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
一个php作的文本留言本的例子(六)
2006/10/09 PHP
PHP程序级守护进程的实现与优化的使用概述
2013/05/02 PHP
PHP基于GD库的图像处理方法小结
2016/09/27 PHP
JavaScript 原型链学习总结
2010/10/29 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
javascript修改表格背景色实例代码分享
2013/12/10 Javascript
js 判断控件获得焦点的示例代码
2014/03/04 Javascript
JavaScript入门基础
2015/08/12 Javascript
jquery插件EasyUI中form表单提交实例分享
2016/01/11 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
一个简易时钟效果js实现代码
2020/03/25 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
Python可变参数函数用法实例
2015/07/07 Python
django 解决manage.py migrate无效的问题
2018/05/27 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
在PyCharm中实现添加快捷模块
2020/02/12 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
办公文员的工作岗位职责
2013/11/12 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
致100米运动员广播稿
2014/02/14 职场文书
省级优秀班集体申报材料
2014/05/25 职场文书
大学生个人求职信
2014/06/02 职场文书
应用外语系自荐信
2014/06/26 职场文书
英语教师求职信范文
2015/03/20 职场文书
求职导师推荐信范文
2015/03/27 职场文书
2015年计生协会工作总结
2015/04/24 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL