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 相关文章推荐
动态修改DOM 里面的 id 属性的弊端分析
Sep 03 Javascript
也说JavaScript中String类的replace函数
Sep 22 Javascript
js获取字符串最后一位方法汇总
Nov 13 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
Oct 15 Javascript
jQuery添加删除DOM元素方法详解
Jan 18 Javascript
html+js实现简单的计算器代码(加减乘除)
Jul 12 Javascript
JS控制静态页面传递参数并获取参数应用
Aug 10 Javascript
如何利用JQuery实现从底部回到顶部的功能
Dec 27 Javascript
Node.js复制文件的方法示例
Dec 29 Javascript
利用node.js制作命令行工具方法教程(一)
Jun 22 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
js+canvas实现纸牌游戏
Mar 16 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中通过ADODB库实现调用Access数据库之修正版本
2006/12/31 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
node.js中的events.emitter.removeListener方法使用说明
2014/12/10 Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
2015/12/31 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
JavaScript中误用/g导致的正则test()无法正确重复执行的解决方案
2016/07/27 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
jQuery tip提示插件(实例分享)
2017/04/28 jQuery
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
vue路由跳转时判断用户是否登录功能的实现
2017/10/26 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
2019/06/10 jQuery
Python while 循环使用的简单实例
2016/06/08 Python
Python之循环结构
2019/01/15 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
python:删除离群值操作(每一行为一类数据)
2020/06/08 Python
详解Python中的文件操作
2021/01/14 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
市场营销毕业生自荐信范文
2014/04/01 职场文书
银行求职自荐信
2014/06/30 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
居委会工作总结2015
2015/05/18 职场文书
庆祝教师节主持词
2015/07/06 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python