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 相关文章推荐
一个js拖拽的效果类和dom-drag.js浅析
Jul 17 Javascript
jquery一般方法介绍 入门参考
Jun 21 Javascript
解决js正则匹配换行问题实现代码
Dec 10 Javascript
table insertRow、deleteRow定义和用法总结
May 14 Javascript
javascript判断变量是否有值的方法
Apr 20 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
Jun 12 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
Dec 02 Javascript
微信小程序picker组件下拉框选择input输入框的实例
Sep 20 Javascript
微信小程序wx.request实现后台数据交互功能分析
Nov 25 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
Mar 12 Javascript
浅谈vuex actions和mutation的异曲同工
Dec 13 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
Aug 07 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
2016/05/26 PHP
表单JS弹出填写提示效果代码
2011/04/16 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
js获得指定控件输入光标的坐标兼容IE,Chrome,火狐等多种主流浏览器
2013/05/21 Javascript
JS HTML5 音乐天气播放器(Ajax获取天气信息)
2013/05/26 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
微信小程序实现文字无限轮播效果
2018/12/28 Javascript
node.js中module模块的功能理解与用法实例分析
2020/02/14 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
构建高效的python requests长连接池详解
2020/05/02 Python
Python 实现一个计时器
2020/07/28 Python
如何让PyQt5中QWebEngineView与JavaScript交互
2020/10/21 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
好药师网上药店:安全合法的网上药品零售药房
2017/02/15 全球购物
资产经营总监岗位职责范文
2013/12/01 职场文书
专科毕业生自我鉴定
2013/12/01 职场文书
装饰活动策划方案
2014/02/11 职场文书
2014政务公开实施方案
2014/02/19 职场文书
党员自我剖析材料
2014/08/31 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
javascript之Object.assign()的痛点分析
2022/03/03 Javascript
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android
Python 装饰器(decorator)常用的创建方式及解析
2022/04/24 Python