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 相关文章推荐
js获取变量
Aug 24 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
Jan 28 Javascript
基于jQuery实现的文字按钮表单特效整理
Dec 07 Javascript
JS获取iframe中longdesc属性的方法
Apr 01 Javascript
浅析JS运动
Dec 28 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
从零学习node.js之模块规范(一)
Feb 21 Javascript
BootStrap的两种模态框方式
May 10 Javascript
chosen实现省市区三级联动
Aug 16 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
Mar 04 Javascript
微信小程序的线程架构【推荐】
May 14 Javascript
Vue-cli3多页面配置详解
Mar 22 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
文章推荐系统(二)
2006/10/09 PHP
Yii2中使用join、joinwith多表关联查询
2016/06/30 PHP
浅谈PHP中类和对象的相关函数
2017/04/26 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
Javascript 面向对象特性
2009/12/28 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
NodeJS的模块写法入门(实例代码)
2012/03/07 NodeJs
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
JS localStorage实现本地缓存的方法
2013/06/22 Javascript
常用js字符串判断方法整理
2013/10/18 Javascript
AngularJS指令与指令之间的交互功能示例
2016/12/14 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
2017/03/11 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
2019/03/08 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
Python解决鸡兔同笼问题的方法
2014/12/20 Python
12步教你理解Python装饰器
2016/02/25 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
python编程实现希尔排序
2017/04/13 Python
Python数据结构之哈夫曼树定义与使用方法示例
2018/04/22 Python
通过PHP与Python代码对比的语法差异详解
2019/07/10 Python
Python分类测试代码实例汇总
2020/07/23 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
简单整理HTML5的基本特性和语法
2016/02/18 HTML / CSS
Ryderwear美国官网:澳大利亚高端健身训练装备品牌
2018/04/24 全球购物
房地产销售计划书
2014/01/10 职场文书
见习报告的格式
2014/11/04 职场文书
趣味运动会赞词
2015/07/22 职场文书
2016中考冲刺决心书
2015/09/22 职场文书
Nginx同一个域名配置多个项目的实现方法
2021/03/31 Servers
nginx location优先级的深入讲解
2021/03/31 Servers
python四种出行路线规划的实现
2021/06/23 Python
Golang 结构体数据集合
2022/04/22 Golang