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 相关文章推荐
破除网页鼠标右键被禁用的绝招大全
Dec 27 Javascript
让你的CSS像Jquery一样做筛选的实现方法
Jul 10 Javascript
js jquery验证银行卡号信息正则学习
Jan 21 Javascript
IE6浏览器中window.location.href无效的解决方法
Nov 20 Javascript
JS实现在线统计一个页面内鼠标点击次数的方法
Feb 28 Javascript
JavaScript实现的浮动层框架用法实例分析
Oct 10 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
May 18 Javascript
js 获取元素所有兄弟节点的实现方法
Sep 06 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
JS判断两个数组或对象是否相同的方法示例
Feb 28 Javascript
vue中音频wavesurfer.js的使用方法
Feb 20 Vue.js
在VUE中使用lodash的debounce和throttle操作
Nov 09 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
探讨:如何编写PHP扩展
2013/06/13 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
AJAX PHP无刷新form表单提交的简单实现(推荐)
2016/09/09 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
JS 判断undefined的实现代码
2009/11/26 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
利用Angular+Angular-Ui实现分页(代码加简单)
2017/03/10 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
node.js使用redis储存session的方法
2018/09/26 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
2019/09/27 Javascript
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
Python 命令行参数sys.argv
2008/09/06 Python
Python中for循环详解
2014/01/17 Python
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
python中使用urllib2伪造HTTP报头的2个方法
2014/07/07 Python
浅谈python中set使用
2016/06/30 Python
python+opencv识别图片中的圆形
2020/03/25 Python
解决python写入带有中文的字符到文件错误的问题
2019/01/31 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
python将音频进行变速的操作方法
2020/04/08 Python
django haystack实现全文检索的示例代码
2020/06/24 Python
python三引号如何输入
2020/07/06 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
匡威英国官网:Converse英国
2018/12/02 全球购物
不尊敬老师检讨书范文
2014/11/19 职场文书
中标通知书格式
2015/04/17 职场文书
导游词之五台山
2019/10/11 职场文书
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle