JavaScript 创建对象和构造类实现代码


Posted in Javascript onJuly 30, 2009

创建一个对象
Java代码

<script type="text/javaScript"> 
var newObject=new Object(); 
//创建一个对象 
newObject.firstName="frank"; 
//增加一个firstName属性 
newObject.sayName=function(){ 
alert(this.firstName); 
} 
//添加一个sayName方法 
//调用sayName方法 
// newObject.sayName(); 
// newObject["sayName"](); 
var FirstName=newObject["firstName"]; 
var whatFunction; 
// if(whatVolume==1){ 
// whatFunction="sayName"; 
// }else if(whatVolume==2){ 
// whatFunction="sayLoudly" 
// } 
// newObject[whatFunction](); 
function sayLoudly(){ 
alert(this.firstName.toUpperCase()); 
} 
newObject.sayLoudly=sayLoudly; 
//另一种方式添加方法 
newObject["sayLoudly"](); 
</script>

利用json(javaScript Object Notation)创建对象和上面同样的效果。
Java代码
function sayLoudly(){ 
alert(this.firstName.toUpperCase()); 
} 
var newObject={ 
firstName:"frank", 
sayName:function(){alert(this.firstName);}, 
sayLoudly:sayLoudly 
}; 
//也可以这样 
var newObject={ 
firstName:"frank", 
sayName:function(){alert(this.firstName);}, 
sayLoudly:sayLoudly, 
lastName:{ 
lastName:"ziggy", 
sayName:function(){alert(this.lastName);} 
} 
}; 
newObject.lastName.sayName();

这样也ok
Java代码
function sayLoudly(){ 
alert(this.name.toUpperCase()); 
} 
function sayName(){ 
alert(this.name); 
} 
var newObject={ 
name:"frank", 
sayName:sayName, 
sayLoudly:sayLoudly, 
lastName:{ 
name:"ziggy", 
sayName:sayName 
} 
}; 
newObject.lastName.sayName();

JavaScript 中的类,还有构造方法。。。
Java代码
function newClass(){ 
alert("constructor"); 
this.firstName="frank"; 
this.sayName=function(){alert(this.firstName);} 
// return this; 
} 
//var nc=newClass(); 
var nc=new newClass(); 
//nc.firstName="ziggy"; is ok 
nc.sayName();

还可以这样来构造类
Java代码
function newClass(){ 
this.firstName="frank"; 
} 
newClass.prototype.sayName=function(){ 
alert(this.firstName); 
} 
var nc=new newClass(); 
nc.firstName="ziggy"; 
nc.sayName(); 
var nc2=new newClass(); 
nc2.sayName();

一般用prototypes来添加方法,这样不管有多少个实例,在内存中只有一个sayName方法。
Javascript 相关文章推荐
JavaScript中的私有成员
Sep 18 Javascript
arguments对象
Nov 20 Javascript
火狐浏览器(firefox)下获得Event对象以及keyCode
Nov 13 Javascript
javascript form 验证函数 弹出对话框形式
Jun 23 Javascript
jquery json 实例代码
Dec 02 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
Dec 10 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 Javascript
js打开新窗口方法整理
Feb 17 Javascript
js获取字符串字节数方法小结
Jun 09 Javascript
bootstrap网页框架的使用方法
May 10 Javascript
Angular 理解module和injector,即依赖注入
Sep 07 Javascript
浅谈js继承的实现及公有、私有、静态方法的书写
Oct 28 Javascript
Javascript 学习笔记 错误处理
Jul 30 #Javascript
JS 学习笔记 防止发生命名冲突
Jul 30 #Javascript
javascript 处理HTML元素必须避免使用的一种方法
Jul 30 #Javascript
javascript 写的一个简单的timer
Jul 30 #Javascript
jquery imgareaselect 使用利用js与程序结合实现图片剪切
Jul 30 #Javascript
Javascript this指针
Jul 30 #Javascript
javascript 进度条 实现代码
Jul 30 #Javascript
You might like
一个更简单的无限级分类菜单代码
2007/01/16 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
fetchAll()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php去除HTML标签实例
2013/11/06 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
PHP易混淆知识整理笔记
2015/09/24 PHP
限制文本框输入N个字符的js代码
2010/05/13 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
学习JavaScript设计模式(封装)
2015/11/26 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
原生js实现ajax方法(超简单)
2016/09/20 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
Angular2 自定义validators的实现方法
2017/07/05 Javascript
Vue中控制v-for循环次数的实现方法
2018/09/26 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
2019/03/07 Javascript
js实现漂亮的星空背景
2019/11/01 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
深入浅析ImageMagick命令执行漏洞
2016/10/11 Python
对python字典过滤条件的实例详解
2019/01/22 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
自荐信的两点禁忌
2013/10/30 职场文书
工厂门卫岗位职责
2013/11/25 职场文书
校园招聘策划书
2014/01/09 职场文书
学习标兵获奖感言
2014/02/20 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
2014年村官工作总结
2014/11/24 职场文书
营运督导岗位职责
2015/04/10 职场文书
幼儿园教师师德承诺书
2015/04/28 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis