JavaScript下申明对象的几种方法小结


Posted in Javascript onOctober 02, 2008

1.var myObject = {} ;
2.function myObject()
{
....
}
3.var myObject = function(){} ;
对于后两种方法,我们还可以增加参数,这样就类似于一个带参数的构造器了.
例如:
function myObject(msg)
{
alert(msg) ;
}
var newObject = new myObject('Hello,World!') ;

var myObject = function(msg)
{
alert(msg + 'again') ;
}
var newTwoObject = new myObject('Hello,World!) ;

甚至我们可以使用字符串来声明函数,这使得我们的程序更加灵活
例如:
var myObject = new Function("msg","alert(msg)") ;
// Function可以有多个入口参数,最后一个参数作为方法体。
var newObject = new myObject('Hell,World!) ;

JavaScript中成员的声明
在JavaScript中,要声明一个对象的成员也非常简单,但是跟其它的高级程序仍然略有不同
例如:
var myObject = {
"FirstName" : "thtwin",
"LastName" : "thtwinj2ee",
"Age" : 22,
"showFullName" : function()
{
alert(this.FirstName + ' ' + this.LastName) ;
}

} ;
myObject.showFullName() ;

在JavaScript中另一个面向对象的特点是我们可以像高级编程语言一样使用.和[]引用成员.
例如:
var dateTime = {
now : new Date(),
show : function(){
alert(new Date()) ;
}
} ;
alert(dateTime.now) ;
等价于:
alert(dateTime.now) ;

dataTime.show() ;
等价于:
dateTime["show()"] ;

对于方法调用来说,在JavaScript中,所有的对象的基类是Object,基类通过prototype定义了很多的成员
和方法,例如:toString,toLocaleString等.
例如:
var obj = {"toString" : function(){return "This is an test!" ; }} ;
alert(obj) ;

运行时,当alert的时候toString()方法被调用了,事实上,当JavaScript需要将一个对象转换成字符
时就隐式调用了这个对象的toString()方法.
例如:
Date.prototype.toString = function(){alert('this is a test!') ;} ;
var da = new Date(new Date()) ;

Date.prototype.toString = function(){alert('this is a test!') ;} ;
var dt = new Date() + 1 ;

JavaScript中call方法的使用:
关于call的解释:
call 方法可以用来代替另一个对象调用一个方法。
call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。

例如:
function abc()
{
alert(this.member1);
}
var obj = { member1:"Hello world!", show:abc};
var obj2 = { member1:"Hello world again!", show:abc};

obj.show();
//也可以使用
abc.call(obj);
abc.call(obj2);

修改后的另一个版本:
member1 = 'test';
function abc()
{
alert(this.member1);
}
var obj = { member1:"Hello world", show:abc};
var obj2 = { member1:"Hello world again", show:abc};

obj.show();
//也可以使用
abc.call(obj);
abc.call(obj2);

abc(); // 此时abc中的this指向了当前上下文
每个函数都有call方法,上面的过程中我们看到用另一个对象代替调用显示方法,
并注意到this在对象上下文中的改变。

Javascript 相关文章推荐
javascript SocialHistory 检查访问者是否访问过某站点
Aug 02 Javascript
javascript 伪数组实现方法
Oct 11 Javascript
JavaScript使用cookie记录临时访客信息的方法
Apr 07 Javascript
js实现a标签超链接提交form表单的方法
Jun 24 Javascript
文字垂直滚动之javascript代码
Jul 29 Javascript
10个最优秀的Node.js MVC框架
Aug 24 Javascript
JS沙箱模式实例分析
Sep 04 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
详解Vue Cli浏览器兼容性实践
Jun 08 Javascript
vue实现滑动解锁功能
Mar 03 Vue.js
TS 类型收窄教程示例详解
Sep 23 Javascript
初学JavaScript第二章
Sep 30 #Javascript
select组合框option的捕捉实例代码
Sep 30 #Javascript
javascript优先加载笔记代码
Sep 30 #Javascript
javascript显示隐藏层比较不错的方法分析
Sep 30 #Javascript
javascript不同页面传值的改进版
Sep 30 #Javascript
简明json介绍
Sep 28 #Javascript
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 #Javascript
You might like
PHP游戏编程25个脚本代码
2011/02/08 PHP
php读取文件内容的三种可行方法示例介绍
2014/02/08 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
基于jQuery+HttpHandler实现图片裁剪效果代码(适用于论坛, SNS)
2011/09/02 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
jQuery中parents()和parent()的区别分析
2014/10/28 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
JS 日期与时间戮相互转化的简单实例
2016/06/22 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
判断python字典中key是否存在的两种方法
2018/08/10 Python
Python中将两个或多个list合成一个list的方法小结
2019/05/12 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
Python 下载及安装详细步骤
2019/11/04 Python
python随机模块random使用方法详解
2020/02/14 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
python matplotlib工具栏源码探析二之添加、删除内置工具项的案例
2021/02/25 Python
详解HTML5中download属性的应用
2015/08/06 HTML / CSS
iHerb台湾:维生素、保健品和健康产品
2018/01/31 全球购物
总经理助理岗位职责
2013/11/08 职场文书
鲜花方阵解说词
2014/02/13 职场文书
汽车促销活动方案
2014/03/31 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
开展党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
神农溪导游词
2015/02/11 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript