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 while语句和do while语句的区别分析
Dec 08 Javascript
jquery 必填项判断表单是否为空的方法
Sep 14 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
Mar 13 Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 Javascript
微信小程序 wxapp画布 canvas详细介绍
Oct 31 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
Mar 16 Javascript
B/S(Web)实时通讯解决方案分享
Apr 06 Javascript
vue快捷键与基础指令详解
Jun 01 Javascript
vue源码学习之Object.defineProperty 对数组监听
May 30 Javascript
vue3.0 CLI - 2.1 -  component 组件入门教程
Sep 14 Javascript
微信小程序保存多张图片的实现方法
Mar 05 Javascript
微信小程序点击生成朋友圈分享图(遇到的坑)
Jun 17 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游戏编程25个脚本代码
2011/02/08 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
JavaScript入门教程(2) JS基础知识
2009/01/31 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
jquery 实现表单验证功能代码(简洁)
2012/07/03 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
JS获取当前日期和时间的简单实例
2013/11/19 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
即将发布的jQuery 3 有哪些新特性
2016/04/14 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
详解vue.js组件化开发实践
2016/12/14 Javascript
jQuery修改DOM结构_动力节点Java学院整理
2017/07/05 jQuery
vue基于mint-ui的城市选择3级联动的示例
2017/10/25 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
2017/12/24 Javascript
Nodejs 识别图片类型的方法
2019/08/15 NodeJs
微信小程序一周时间表功能实现
2019/10/17 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
Python类属性与实例属性用法分析
2015/05/09 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
Django 实现 Websocket 广播、点对点发送消息的代码
2020/06/03 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
德国家具购物网站:Möbel Höffner
2019/08/26 全球购物
探矿工程师自荐信
2014/01/24 职场文书
党员领导干部承诺书
2014/05/28 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
党员“四风”问题批评与自我批评思想汇报
2014/10/06 职场文书
2015年路政工作总结
2015/05/22 职场文书
公司安全管理制度范本
2015/08/05 职场文书
2016大一新生军训感言
2015/12/08 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
分享node.js实现简单登录注册的具体代码
2022/04/26 NodeJs