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 相关文章推荐
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
Apr 20 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
Sep 03 Javascript
js获取当前日期时间及其它操作汇总
Apr 17 Javascript
jquery选择器简述
Aug 31 Javascript
每天一篇javascript学习小结(Array数组)
Nov 11 Javascript
jquery按回车键实现表单提交的简单实例
May 25 Javascript
JS函数修改html的元素内容,及修改属性内容的方法
Oct 28 Javascript
微信小程序之ES6与事项助手的功能实现
Nov 30 Javascript
vue实现简单实时汇率计算功能
Jan 15 Javascript
node操作mysql数据库实例详解
Mar 17 Javascript
vue.js todolist实现代码
Oct 29 Javascript
在vue中使用vant TreeSelect分类选择组件操作
Nov 02 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框架的性能
2008/01/10 PHP
php学习笔记 PHP面向对象的程序设计
2011/06/13 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
一段非常简单的让图片自动切换js代码
2006/11/10 Javascript
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
js post提交调用方法
2014/02/12 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
JS解决移动web开发手机输入框弹出的问题
2017/03/31 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
JS通过识别id、value值对checkbox设置选中状态
2020/02/19 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
Python中一行和多行import模块问题
2018/04/01 Python
Python实现常见的回文字符串算法
2018/11/14 Python
python用win32gui遍历窗口并设置窗口位置的方法
2019/07/26 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
意大利奢侈品零售商:ilDuomo Novara
2019/09/11 全球购物
办公室文员岗位职责
2015/02/04 职场文书
使用Python获取字典键对应值的方法
2022/04/26 Python