JavaScript 创建对象


Posted in Javascript onJuly 17, 2009

第一种:JSON方式/对象直接量
格式:
var 对象名 = {
变量1: 变量1的值,
变量1: 变量1的值,
……,
函数1: function() {
函数体
},
函数2: function() {
函数体
}//Note:最后的逗号要去除为了和IE兼容。
};
说明:
(1) 大括号内直接填写变量或者函数;
(2) 对象的内容与值以冒号分隔,成对出现;
(3) 包含的变量或者函数之间以逗号分隔;
(4) 函数需要写在function(){}的大括号之内。
例子:
var 对象名 = {
name: “Vicky”,
age: 26,
eat: function() {
alert(‘I wanna eat meat');
},
sleep: function() {
alert(‘I wanna sleep');
}
};
注释:类似的方式也叫做匿名类
匿名类举例:
{
index: '//',
reg: new RegExp('^//.*$'),
css: "comment"
}
上面的方式创建了类,只是没赋给一个变量而已。
第二种:function方式
格式:
function data() {
this.变量1=变量1的值;
this.变量2=变量2的值;
……;
this.函数1= function() {
函数体
};
this.函数2= function() {
函数体
};
}
说明:
(1) 其内的变量或者函数前必需写上this关键字;
(2) 对象的内容与值以等号分隔,成对出现;
(3) 包含的变量或者函数之间以分号分隔。
(4) 函数需要写在function(){}的大括号之内。
例子:
function data() {
this.name=“Vicky””;
this.age=26;
this.eat=function() {
alert(‘I wanna eat meat');
};
this.sleep=function() {
alert(‘I wanna sleep');
};
}
第三种:原型方式
格式:
var 对象名 = {};
对象名.prototype.变量1=变量1的值;
对象名.prototype.变量2=变量2的值;
……;
对象名.prototype.函数1= function() {
函数体
};
对象名.prototype.函数2= function() {
函数体
};
……;
说明:
(1) 初始对象体内可以不定义任何东西;
(2) 在要定义的变量前加“对象名.prototype.”的格式;
(3) 对象的内容与值以等号分隔,成对出现;
(4) 包含的变量或者函数之间以分号分隔,也可以省去分号。
(5) 函数需要写在function(){}的大括号之内。
例子:
var data = {};
data.prototype. name ="Vicky”;
data.prototype. age =20;
data.prototype. eat = function() {
alert(‘I wanna eat meat');
};
data.prototype. sleep= function() {
alert(‘I wanna sleep');
};
第四种:create方式
该方式利用了Prototype JavaScript组件库。
格式:
var 对象名 = Class.create();
Object.extend(对象名.prototype, {
变量1: 变量1的值,
变量1: 变量1的值,
……,
函数1: function() {
函数体
},
函数2: function() {
函数体
},
……
});
说明:
(1) 对象的创建使用了Prototype库中的Class.create()函数;
(2) 对象的内容使用Prototype库中的Object.extend()函数来扩展;
(3) 被扩展的对象在传入Object.extend函数时一定要带上prototype,
(4) 扩展内容被大括号包含,其内与JSON方式的定义格式完全相同。
例子:
var data = Class.create();
Object.extend(dta.prototype, {
name: "Vicky",
age: 20,
eat: function() {
alert(‘I wanna eat meat');
},
sleep: function() {
alert(‘I wanna sleep');
}
});
其实,JS对象的定义还有其它的方式,你也可以用上面4种进行组合定义,这显出了JS作为动态语言的自由性。
JS对象的创建正规方法如下:
var d1 = new Data();
JS对象变量的引用方式有两种:
(1) 点号方式引用,如,data.name。
(2) 数组方式引用,如,data[‘name']。

Javascript 相关文章推荐
jQuery帮助之CSS尺寸(五)outerHeight、outerWidth
Nov 14 Javascript
JavaScript Cookie的读取和写入函数
Dec 08 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
通过jsonp获取json数据实现AJAX跨域请求
Jan 22 Javascript
详解angularjs结合pagination插件实现分页功能
Feb 10 Javascript
JavaScript之map reduce_动力节点Java学院整理
Jun 29 Javascript
vue小图标favicon不显示的解决方案
Sep 19 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
Aug 01 Javascript
如何解决vue2.0下IE浏览器白屏问题
Sep 13 Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 Javascript
Angular6 Filter实现页面搜索的示例代码
Dec 02 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
Jul 04 Javascript
prototype 学习笔记整理
Jul 17 #Javascript
表单元素事件 (Form Element Events)
Jul 17 #Javascript
优化 JavaScript 代码的方法小结
Jul 16 #Javascript
Javascript 事件流和事件绑定
Jul 16 #Javascript
js 对象是否存在判断
Jul 15 #Javascript
js 实现无缝滚动 兼容IE和FF
Jul 15 #Javascript
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
Jul 14 #Javascript
You might like
PHP面向对象程序设计之命名空间与自动加载类详解
2016/12/02 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
JS数组(Array)处理函数整理
2014/12/07 Javascript
javaScript中push函数用法实例分析
2015/06/08 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
JavaScript的React框架中的JSX语法学习入门教程
2016/03/05 Javascript
javascript加载xml 并解析各节点的值(实现方法)
2016/10/12 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
JS实现页面数据懒加载
2020/02/13 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
2020/04/08 Javascript
vue中后端做Excel导出功能返回数据流前端的处理操作
2020/09/08 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
python实现通过pil模块对图片格式进行转换的方法
2015/03/24 Python
python3结合openpyxl库实现excel操作的实例代码
2018/09/11 Python
Python字符串内置函数功能与用法总结
2019/04/16 Python
Django之路由层的实现
2019/09/09 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
Python 列表的清空方式
2020/01/13 Python
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
宿舍使用违章电器检讨书
2014/01/12 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
第二课堂活动总结
2014/05/07 职场文书
写求职信有哪些注意事项
2014/05/08 职场文书
普通党员整改措施
2014/10/24 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
springboot读取nacos配置文件
2022/05/20 Java/Android
MySQL数据库表约束讲解
2022/06/21 MySQL