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 相关文章推荐
JQuery 实现的页面滚动时浮动窗口控件
Jul 10 Javascript
Javascript 网页水印(非图片水印)实现代码
Mar 01 Javascript
js 关于=+与+=日期函数使用说明(赋值运算符)
Nov 15 Javascript
js验证输入是否为手机号码或电话号码示例
Dec 30 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
Apr 17 Javascript
Jquery时间轴特效(三种不同类型)
Nov 02 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
Feb 20 Javascript
js判断手机系统是android还是ios
Mar 07 Javascript
vue使用Axios做ajax请求详解
Jun 07 Javascript
微信小程序实现两个页面传值的方法分析
Dec 11 Javascript
vue实现select下拉显示隐藏功能
Sep 30 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
?生?D片??C字串
2006/12/06 PHP
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
2019/10/11 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
javascript客户端遍历控件与获取父容器对象示例代码
2014/01/06 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
node.js中的fs.lchmodSync方法使用说明
2014/12/16 Javascript
jQuery实现布局高宽自适应的简单实例
2016/05/28 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
Vue进度条progressbar组件功能
2018/04/17 Javascript
微信小程序吸底区域适配iPhoneX的实现
2020/04/09 Javascript
微信小程序实现电子签名并导出图片
2020/05/27 Javascript
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
决策树的python实现方法
2014/11/18 Python
Python获取指定文件夹下的文件名的方法
2018/02/06 Python
详解Python核心对象类型字符串
2018/02/11 Python
分析Python读取文件时的路径问题
2018/02/11 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
python编程进阶之类和对象用法实例分析
2020/02/21 Python
在IE6系列等老式浏览器中使用HTML5的新标签实现方案
2012/12/25 HTML / CSS
HTML5中原生的右键菜单创建方法
2016/06/28 HTML / CSS
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
乡镇干部十八大感言
2014/02/17 职场文书
初中英语演讲稿
2014/04/29 职场文书
人生遥控器观后感
2015/06/11 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python