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 相关文章推荐
prototype 源码中文说明之 prototype.js
Sep 22 Javascript
javascript入门·对象属性方法大总结
Oct 01 Javascript
javascript最常用与实用的创建类的代码
Aug 12 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
Jul 31 Javascript
jQuery动态添加删除select项(实现代码)
Sep 03 Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 Javascript
解决Vue不能检测数组或对象变动的问题
Feb 24 Javascript
解决vue单页路由跳转后scrollTop的问题
Sep 03 Javascript
Node.js 在本地生成日志文件的方法
Feb 07 Javascript
vue npm install 安装某个指定的版本操作
Aug 11 Javascript
解决vue-loader加载不上的问题
Oct 21 Javascript
React 高阶组件HOC用法归纳
Jun 13 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 SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
JavaScript window.document的属性、方法和事件小结
2012/10/24 Javascript
JS操作图片(增,删,改) 例子
2013/04/17 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
简化版手机端照片预览组件
2015/04/13 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
jQuery实现平滑滚动的标签分栏切换效果
2015/08/28 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
Angular2 多级注入器详解及实例
2016/10/30 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
centos6.4下python3.6.1安装教程
2017/07/21 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
python实现祝福弹窗效果
2019/04/07 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
python扫描线填充算法详解
2020/02/19 Python
python爬虫 requests-html的使用
2020/11/30 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
Scrapy+Selenium自动获取cookie爬取网易云音乐个人喜爱歌单
2021/02/01 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
加拿大健康、婴儿和美容产品在线购物:Well.ca
2016/11/30 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
前台接待的工作职责
2013/11/21 职场文书
小区推广策划方案
2014/06/06 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
民政局副局长民主生活会个人对照检查材料
2014/09/19 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
不服劳动仲裁起诉书
2015/05/20 职场文书
2016年记者节感言
2015/12/08 职场文书
九年级数学教学反思
2016/02/17 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书