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基础知识大全 便于大家学习,也便于我自己查看
Aug 17 Javascript
使用 Node.js 做 Function Test实现方法
Oct 25 Javascript
jquery实现图片左右切换的方法
May 07 Javascript
jquery任意位置浮动固定层插件用法实例
May 29 Javascript
node.js实现爬虫教程
Aug 25 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
Sep 28 Javascript
5种JavaScript脚本加载的方式
Jan 16 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
js中比较两个对象是否相同的方法示例
Sep 02 Javascript
webpack安装配置与常见使用过程详解(结合vue)
Jun 01 Javascript
vue中v-model对select的绑定操作
Aug 31 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
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
phpstorm编辑器乱码问题解决
2014/12/01 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
php 中phar包的使用教程详解
2018/10/26 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
AngularJS基础 ng-repeat 指令简单示例
2016/08/03 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
python在windows和linux下获得本机本地ip地址方法小结
2015/03/20 Python
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
python定时器(Timer)用法简单实例
2015/06/04 Python
Python实现的单向循环链表功能示例
2017/11/10 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
pandas series序列转化为星期几的实例
2018/04/11 Python
Python面向对象之类的定义与继承用法示例
2019/01/14 Python
Python交互式图形编程的实现
2019/07/25 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Python加速程序运行的方法
2020/07/29 Python
python 递归相关知识总结
2021/03/03 Python
HSRP的含义以及如何工作
2014/09/10 面试题
税务专业毕业生自荐信
2013/11/10 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
爱心捐助倡议书
2014/05/19 职场文书
上课迟到检讨书
2015/05/06 职场文书
银行工作心得体会范文
2016/01/23 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
frg-100简单操作(设置)说明
2022/04/05 无线电
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL