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 相关文章推荐
使用struts2+Ajax+jquery验证用户名是否已被注册
Mar 22 Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
jQuery实现发送验证码并60秒倒计时功能
Nov 25 Javascript
基于pako.js实现gzip的压缩和解压功能示例
Jun 13 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
Aug 25 Javascript
SeaJS中use函数用法实例分析
Oct 10 Javascript
JavaScript对象拷贝与赋值操作实例分析
Dec 10 Javascript
微信小程序使用wxParse解析html的方法示例
Jan 17 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
vue 解决form表单提交但不跳转页面的问题
Oct 30 Javascript
JS实现碰撞检测效果
Mar 12 Javascript
Vue全家桶入门基础教程
May 14 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
动态生成gif格式的图像要注意?
2006/10/09 PHP
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
php删除数组元素示例分享
2014/02/17 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
区分JS中的undefined,null,"",0和false
2007/03/08 Javascript
javascript nextSibling 与 getNextElement(node) 使用介绍
2011/10/13 Javascript
深入document.write()与HTML4.01的非成对标签的详解
2013/05/08 Javascript
js用typeof方法判断undefined类型
2014/07/15 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
2015/12/03 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
2016/12/07 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
[50:17]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
Django admin美化插件suit使用示例
2017/12/12 Python
Python键盘输入转换为列表的实例
2018/06/23 Python
python 实现图片旋转 上下左右 180度旋转的示例
2019/01/24 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
味多美官网:蛋糕订购,100%使用天然奶油
2017/11/10 全球购物
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
Viking比利时:购买办公用品
2019/10/30 全球购物
单位未婚证明范本
2014/11/25 职场文书
2014保险公司个人工作总结
2014/12/09 职场文书
大学生英文求职信范文
2015/03/19 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
iSCSI服务器CHAP双向认证配置
2022/04/01 Servers
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android