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 相关文章推荐
jquery 必填项判断表单是否为空的方法
Sep 14 Javascript
基于jquery 的一个progressbar widge
Oct 29 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
Dec 10 Javascript
js 控制图片大小核心讲解
Oct 09 Javascript
JavaScript输入邮箱自动提示实例代码
Jan 13 Javascript
js日期对象兼容性的处理方法
Jan 28 Javascript
详解Javascript百度地图接口开发文档中的类和方法
Feb 07 Javascript
Three.js获取鼠标点击的三维坐标示例代码
Mar 24 Javascript
AngularJS解决ng-if中的ng-model值无效的问题
Jun 21 Javascript
Js自定义多选框效果的实例代码
Jul 05 Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
js实现计时器秒表功能
Dec 16 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统计文件大小,以GB、MB、KB、B输出
2011/05/29 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
JS request函数 用来获取url参数
2010/05/17 Javascript
25个优雅的jQuery Tooltip插件推荐
2011/05/25 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
在Vue 中使用Typescript的示例代码
2018/09/10 Javascript
微信小程序签到功能
2018/10/31 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
js实现选项卡效果
2020/03/07 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
[01:01:13]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第三场
2018/04/06 DOTA
Python常用模块介绍
2014/11/21 Python
JSONLINT:python的json数据验证库实例解析
2017/11/28 Python
pandas 使用apply同时处理两列数据的方法
2018/04/20 Python
python skimage 连通性区域检测方法
2018/06/21 Python
Python实现重建二叉树的三种方法详解
2018/06/23 Python
解决tensorflow模型参数保存和加载的问题
2018/07/26 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
Python:合并两个numpy矩阵的实现
2019/12/02 Python
对python中list的五种查找方法说明
2020/07/13 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
Subside Sports德国:足球球衣和球迷商品
2019/06/08 全球购物
中专毕业生自我鉴定
2013/11/21 职场文书
大学生的应聘自我评价
2013/12/13 职场文书
优秀的计算机专业求职信范文
2013/12/27 职场文书
访谈节目策划方案
2014/05/15 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
会议新闻稿
2015/07/17 职场文书
丧事答谢词大全
2015/09/30 职场文书
教你使用RustDesk 搭建一个自己的远程桌面中继服务器
2022/08/14 Servers