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动画4.升级版遮罩效果的图片走廊--带自动运行效果
Aug 24 Javascript
动态创建script标签实现跨域资源访问的方法介绍
Feb 28 Javascript
jquery实现ajax提交form表单的方法总结
Mar 03 Javascript
js变形金刚文字特效代码分享
Aug 20 Javascript
AngularJS 过滤器的简单实例
Jul 27 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
Oct 27 Javascript
用jQuery的AJax实现异步访问、异步加载
Nov 02 Javascript
JS实现含有中文字符串的友好截取功能分析
Mar 13 Javascript
利用forever和pm2部署node.js项目过程
May 10 Javascript
前端常见跨域解决方案(全)
Sep 19 Javascript
从源码里了解vue中的nextTick的使用
Nov 22 Javascript
Vue实现背景更换颜色操作
Jul 17 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
分享php分页的功能模块
2015/06/16 PHP
php实现多城市切换特效
2015/08/09 PHP
PHP获取redis里不存在的6位随机数应用示例【设置24小时过时】
2017/06/07 PHP
PHP实现转盘抽奖算法分享
2020/04/15 PHP
Javascript 自定义类型方法小结
2010/03/02 Javascript
ExtJs Excel导出并下载IIS服务器端遇到的问题
2011/09/16 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
分享一个插件实现水珠自动下落效果
2016/06/01 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
weex slider实现滑动底部导航功能
2017/08/28 Javascript
使用Bootrap和Vue实现仿百度搜索功能
2017/10/26 Javascript
jquery图片预览插件实现方法详解
2019/07/18 jQuery
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
Python与shell的3种交互方式介绍
2015/04/11 Python
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
python3使用SMTP发送HTML格式邮件
2018/06/19 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
通过实例了解python property属性
2019/11/01 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
python时间日期操作方法实例小结
2020/02/06 Python
Wilson体育用品官网:美国著名运动器材品牌
2019/05/12 全球购物
.NET方向面试题
2014/11/20 面试题
文秘班元旦晚会活动策划方案
2014/08/28 职场文书
工程索赔意向书
2014/08/30 职场文书
个人工作年终总结
2015/03/09 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
详解 TypeScript 枚举类型
2021/11/02 Javascript
python可视化大屏库big_screen示例详解
2021/11/23 Python
python处理json数据文件
2022/04/11 Python