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 相关文章推荐
根据分辩率调用不同的CSS.
Jan 08 Javascript
加速IE的Javascript document输出的方法
Dec 02 Javascript
$.each与$().each的区别示例介绍
Mar 20 Javascript
javascript弹性运动效果简单实现方法
Jan 08 Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
Dec 25 Javascript
vue中实现在外部调用methods的方法(推荐)
Feb 08 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
Nov 30 Javascript
Vue的H5页面唤起支付宝支付功能
Apr 18 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
May 10 Javascript
vue cli安装使用less的教程详解
Jul 12 Javascript
原生javascript自定义input[type=radio]效果示例
Aug 27 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
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
JavaScript 字符编码规则
2009/05/04 Javascript
为JS扩展Array.prototype.indexOf引发的问题及解决办法
2015/01/21 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
微信小程序如何获取openid及用户信息
2018/01/26 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
Vue中图片Src使用变量的方法
2019/10/30 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
使用django-crontab实现定时任务的示例
2018/02/26 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
15个Pythonic的代码示例(值得收藏)
2020/10/29 Python
Pandas直接读取sql脚本的方法
2021/01/21 Python
Python实现钉钉/企业微信自动打卡的示例代码
2021/02/02 Python
英国图书音像网站:Hive.co.uk(图书、电子书、DVD、蓝光、音乐CD等)
2017/10/16 全球购物
毕业生造价工程师求职信
2013/10/17 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
和谐社区口号
2014/06/19 职场文书
开展读书活动总结
2014/06/30 职场文书
大学感恩节活动总结
2015/05/05 职场文书
汤姆索亚历险记读书笔记
2015/06/29 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
《法国号》教学反思
2016/02/22 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS