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 反科里化 this [译]
Sep 20 Javascript
jQuery实现鼠标滑过遮罩并高亮显示效果
Jul 16 Javascript
JavaScript控制网页层收起和展开效果的方法
Apr 15 Javascript
详解JavaScript的Polymer框架中的通知交互
Jul 29 Javascript
Bootstrap每天必学之面板
Nov 30 Javascript
Node.js的Koa框架上手及MySQL操作指南
Jun 13 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
jQuery实现动态添加tr到table的方法
Dec 26 Javascript
Ionic项目中Native Camera的使用方法
Jun 07 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
vue todo-list组件发布到npm上的方法
Apr 04 Javascript
在Vue中使用Echarts实例图的方法实例
Oct 10 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
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
PHP导入Excel到MySQL的方法
2011/04/23 PHP
PHP实现读取一个1G的文件大小
2013/08/24 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
PHP 多任务秒级定时器的实现方法
2018/05/13 PHP
对php 判断http还是https,以及获得当前url的方法详解
2019/01/15 PHP
TextArea 控件的最大长度问题(js json)
2009/12/16 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
移动Web中图片自适应的两种JavaScript解决方法
2015/06/18 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
2015/09/19 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
JavaScript中this的用法实例分析
2016/12/19 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
详解vue组件开发脚手架
2018/06/15 Javascript
快速解决select2在bootstrap模态框中下拉框隐藏的问题
2018/08/10 Javascript
深入理解 Koa 框架中间件原理
2018/10/18 Javascript
JS实现滑动插件
2020/01/15 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
[02:53]2018年度DOTA2最佳战队-完美盛典
2018/12/17 DOTA
python生成器generator用法实例分析
2015/06/04 Python
Python实现图像几何变换
2015/07/06 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
python绘制热力图heatmap
2020/03/23 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
编写一子程序,将一链表倒序,即使链表表尾变表头,表头变表尾
2016/02/10 面试题
就业推荐表导师评语
2014/12/31 职场文书
用Python进行栅格数据的分区统计和批量提取
2021/05/27 Python
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript