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 相关文章推荐
会自动逐行上升的文本框
Jun 30 Javascript
JS创建优美的页面滑动块效果 - Glider.js
Sep 27 Javascript
JSQL 基于客户端的成绩统计实现方法
May 05 Javascript
bootstrap按钮插件(Button)使用方法解析
Jan 13 Javascript
AngularJS实现进度条功能示例
Jul 05 Javascript
create-react-app构建项目慢的解决方法
Mar 14 Javascript
vue移动端路由切换实例分析
May 14 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
Vue.js 实现数据展示全部和收起功能
Sep 05 Javascript
vue中使用[provide/inject]实现页面reload的方法
Sep 30 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
Apr 29 Javascript
js实现车辆管理系统
Aug 26 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 nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
2009/08/21 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
Laravel5中contracts详解
2015/03/02 PHP
分享3个php获取日历的函数
2015/09/25 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
Nginx实现反向代理
2017/09/20 Servers
用脚本调用样式的几种方法
2006/12/09 Javascript
学习jquery必备 api中英文对照的chm手册 下载
2007/05/03 Javascript
深入理解JavaScript系列(7) S.O.L.I.D五大原则之开闭原则OCP
2012/01/15 Javascript
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
JQuery中如何传递参数如click(),change()等具体实现
2013/04/28 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
javascript实现拖放效果
2015/12/16 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
electron实现静默打印的示例代码
2019/08/12 Javascript
Vue-router 报错NavigationDuplicated的解决方法
2020/03/31 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
简单了解什么是神经网络
2017/12/23 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
python计算日期之间的放假日期
2018/06/05 Python
pyspark操作MongoDB的方法步骤
2019/01/04 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
CAT鞋加拿大官网:CAT Footwear加拿大
2020/08/05 全球购物
安全员岗位职责
2013/11/11 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
期末考试复习计划
2015/01/19 职场文书
运动会5000米加油稿
2015/07/21 职场文书
总经理聘用协议书
2015/09/21 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python