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两行代码按指定格式输出日期时间
Oct 21 Javascript
js异常捕获方法介绍
Apr 10 Javascript
js Date概念详细介绍
Nov 22 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
Jun 30 Javascript
avalon js实现仿微博拖动图片排序
Aug 14 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 Javascript
js事件冒泡、事件捕获和阻止默认事件详解
Aug 04 Javascript
在js中做数字字符串补0(js补零)
Mar 25 Javascript
vue-cli3环境变量与分环境打包的方法示例
Feb 18 Javascript
JS如何生成随机验证码
Mar 02 Javascript
vue-cli3使用mock数据的方法分析
Mar 16 Javascript
微信小程序pinker组件使用实现自动相减日期
May 07 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
优化PHP代码的53条建议
2008/03/27 PHP
php number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
jQuery Mobile 触摸事件实例
2016/06/04 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
bootstrap精简教程_动力节点Java学院整理
2017/07/14 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
浅谈Vue3.0之前你必须知道的TypeScript实战技巧
2019/09/11 Javascript
JS实现简单tab选项卡切换
2019/10/25 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
Python3基础之基本数据类型概述
2014/08/13 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
python dict 相同key 合并value的实例
2019/01/21 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
Python (Win)readline和tab补全的安装方法
2019/08/27 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
opencv python 对指针仪表读数识别的两种方式
2021/01/14 Python
对CSS3选择器的研究(详解)
2016/09/16 HTML / CSS
html5 input输入实时检测以及延时优化
2018/07/18 HTML / CSS
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
关于祖国的演讲稿
2014/05/04 职场文书
学生违反校规检讨书
2014/10/28 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技