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 相关文章推荐
textarea的value是html文件源代码,存成html文件的代码
Apr 20 Javascript
JavaScript获取flash对象与网上的有所不同
Apr 21 Javascript
深入分析JSON编码格式提交表单数据
Jun 25 Javascript
jQuery实现tab选项卡效果的方法
Jul 08 Javascript
jquery实现表单验证简单实例演示
Nov 23 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
Dec 11 Javascript
详解Javascript几种跨域方式总结
Feb 27 Javascript
react 实现页面代码分割、按需加载的方法
Apr 03 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
May 07 Javascript
vue删除html内容的标签样式实例
Sep 13 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
javascript中的with语句学习笔记及用法
Feb 17 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
2006/10/09 PHP
php单一接口的实现方法
2015/06/20 PHP
PHP+Mysql+jQuery文件下载次数统计实例讲解
2015/10/10 PHP
PHP实现根据密码长度显示安全条
2017/07/04 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
30个最好的jQuery 灯箱插件分享
2011/04/25 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
jquery得到iframe src属性值的方法
2014/09/25 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python中不能连接超时的问题及解决方法
2018/06/10 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Python使用pyautogui模块实现自动化鼠标和键盘操作示例
2018/09/04 Python
面向初学者的Python编辑器Mu
2018/10/08 Python
python实现创建新列表和新字典,并使元素及键值对全部变成小写
2019/01/15 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
Python解压 rar、zip、tar文件的方法
2019/11/19 Python
把vgg-face.mat权重迁移到pytorch模型示例
2019/12/27 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
Sunglass Hut巴西网上商店:男女太阳镜
2020/10/04 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
工程师自我评价怎么写
2013/09/19 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
学校安全防火方案
2014/06/07 职场文书
关于旅游的活动方案
2014/08/15 职场文书
离婚协议书范文2014
2014/10/16 职场文书
还款承诺书范本
2015/01/20 职场文书
运动会5000米加油稿
2015/07/21 职场文书
python获取字符串中的email
2022/03/31 Python