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 相关文章推荐
jQuery点击后一组图片左右滑动的实现代码
Aug 16 Javascript
Javascript从数组中随机取出不同元素的两种方法
Sep 22 Javascript
JS实现类似百叶窗下拉菜单效果
Dec 30 Javascript
javascript深拷贝和浅拷贝详解
Feb 14 Javascript
通俗解释JavaScript正则表达式快速记忆
Aug 23 Javascript
JS实现访问DOM对象指定节点的方法示例
Apr 04 Javascript
详解react-redux插件入门
Apr 19 Javascript
Ajax请求时无法重定向的问题解决代码详解
Jun 21 Javascript
Vue.js自定义指令学习使用详解
Oct 19 Javascript
详解vue 组件的实现原理
Nov 12 Javascript
vue监听滚动事件的方法
Dec 21 Vue.js
vue实现验证用户名是否可用
Jan 20 Vue.js
酷! 不同风格页面布局幻灯片特效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
用PHP制作静态网站的模板框架(三)
2006/10/09 PHP
php入门学习知识点一 PHP与MYSql连接与查询
2011/07/14 PHP
php读取mysql的简单实例
2014/01/15 PHP
php数组键值用法实例分析
2015/02/27 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
解决FireFox下[使用event很麻烦]的问题
2006/11/26 Javascript
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
创建公共调用 jQuery Ajax 带返回值
2012/08/01 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
2015/07/28 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
BootStrap整体框架之基础布局组件
2016/12/15 Javascript
JS简单实现获取元素的封装操作示例
2017/04/07 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
layui写后台表格思路和赋值用法详解
2019/11/14 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
用vite搭建vue3应用的实现方法
2021/02/22 Vue.js
[52:05]EG vs OG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python 多进程和数据传递的理解
2017/10/09 Python
Python3中函数参数传递方式实例详解
2019/05/05 Python
总结Python图形用户界面和游戏开发知识点
2019/05/22 Python
python处理“
2019/06/10 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
大学生求职简历的自我评价
2013/10/21 职场文书
中文专业自荐书
2014/06/29 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
Python趣味爬虫之用Python实现智慧校园一键评教
2021/05/28 Python
Python访问Redis的详细操作
2021/06/26 Python
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL