JavaScript中对象的不同创建方法


Posted in Javascript onAugust 12, 2016

javascript中的对象与一般的面向对象的程序设计语言(c++,Java等)不同,甚至很少有人说它是面向对象的程序设计语言,因为它没有类。javaScript只有对象,不是类的实例。javascript中的对象是基于原型的。

1.1句点运算符创建

javascript中的对象实际上就是一个由属性组成的关联数组,属性由名称和值组成,值的类型可以是任何数据类型,或者函数和其他对象。

创建一个简单对象:

var foo = {};
foo.prop_1 = 'bar';
foo.prop_2 = false;
foo.prop_3 = function() {
return 'hello world'; 
}
console.log(foo.prop_3());

通过引用赋值给foo,{}是对象字面量的表示方法,var foo={}也可以通过var foo = new Object()来显示地创建一个对象。

1.2 使用关联数组创建对象。

var foo = {};
foo['prop_1'] = 'bar';
foo['prop_2'] = false;
foo['prop_3'] = function() {
return 'hello world'; 
}

javascript中使用句点运算符和关联数组引用是等价的。使用关联数组的好处是在我们不知道对象的属性名称的时候可以用变量来作为关联数组的索引。例如:

var some_prop = 'prop_2';
foo[some_prop] = false;

1.3使用对象初始化器创建对象

一般我们在使用的时候回采用下面这种方法创建对象:

var foo = {
prop1:'bar',
prop2:false,
prop3:function(){
return 'hello world';
}
};

这种定义的方法称为对象得出初始化器

1.4 通过构造函数创建对象。

前面创建的对象都是一次性的。如果我们想创建多个规划好的对象,有若干个固定的属性、方法并且能够初始化。我们可以通过构造函数来创建复杂的对象:

function User(name,uri){
this.name = name;
this.uri = uri;
this.display = function() {
console.log(this.name);
}
}

然后可以用new语句创建对象。

var someuser = new User('byvoid','http://www.byvoid.com');

然后就可以通过someuser来访问这个对象的属性和方法。

以上所述是小编给大家介绍的JavaScript中对象的不同创建方法 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript利用控件对windows的操作实现原理与应用
Dec 23 Javascript
JS滚轮事件onmousewheel使用介绍
Nov 01 Javascript
js模拟C#中List的简单实例
Mar 06 Javascript
javascript父子页面通讯实例详解
Jul 17 Javascript
JS实现的在线调色板实例(附demo源码下载)
Mar 01 Javascript
js 原型对象和原型链理解
Feb 09 Javascript
js以及jquery实现手风琴效果
Apr 17 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
初识 Vue.js 中的 *.Vue文件
Nov 22 Javascript
浅谈Webpack打包优化技巧
Jun 12 Javascript
vue Tab切换以及缓存页面处理的几种方式
Nov 05 Javascript
vue cli4下环境变量和模式示例详解
Apr 09 Javascript
酷! 不同风格页面布局幻灯片特效js实现
Feb 19 #Javascript
JS+CSS3模拟溢出滚动效果
Aug 12 #Javascript
JS中script标签defer和async属性的区别详解
Aug 12 #Javascript
jquery实现网站列表切换效果的2种方法
Aug 12 #Javascript
很实用的js选项卡切换效果
Aug 12 #Javascript
js实现浏览器倒计时跳转页面效果
Aug 12 #Javascript
javascript实现瀑布流动态加载图片原理
Aug 12 #Javascript
You might like
深入理解:单一入口、MVC、ORM、CURD、ActiveRecord概念
2013/06/06 PHP
深入php处理整数函数的详解
2013/06/09 PHP
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
PHP封装的XML简单操作类完整实例
2017/11/13 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
PHP7 新增常量
2021/03/09 PHP
javascript函数以及基础写法100多条实用整理
2013/01/13 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
jquery 取子节点及当前节点属性值
2014/07/25 Javascript
JS实现在页面随时自定义背景颜色的方法
2015/02/27 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[31:47]夜魇凡尔赛茶话会 第三期01:选手知多少
2021/03/11 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
python中的内置函数getattr()介绍及示例
2014/07/20 Python
让python在hadoop上跑起来
2016/01/27 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
python动态文本进度条的实例代码
2020/01/22 Python
关于HTML5+ API plusready的兼容问题
2020/11/20 HTML / CSS
物流仓储实习自我鉴定
2013/09/25 职场文书
室内设计专业个人的自我评价
2013/12/18 职场文书
出纳员岗位责任制
2014/02/11 职场文书
仓管员岗位职责
2015/02/03 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
初中毕业生感言
2015/07/31 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
golang中的空接口使用详解
2021/03/30 Python
HTML5 新增内容和 API详解
2021/11/17 HTML / CSS