当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript下申明对象的几种方法小结

Javascript
QQ邮箱的一个文本编辑器代码
Z-Blog中用到的js代码
绝对经典的滑轮新闻显示(javascript+css)实现
用js实现的仿sohu博客更换页面风格(简单版)
仿Vista进程条效果
用Javascript判断图片是否存在,不存在则显示默认图片的代码
用JQuery 实现的自定义对话框
jQuery使用手册之三 CSS操作
利用Dojo和JSON建立无限级AJAX动态加载的功能模块树
贴图转换+转贴工具用到的js代码超级推荐
超级简单的图片防盗(HTML),好用
现代 javscript 编程 资料
超级可爱纯js网页时钟
Dojo之路:如何利用Dojo实现Drag and Drop效果
AJAX架构之Dojo篇
发两个小东西,ASP/PHP 学习工具。 用JavaScript写的
使用prototype.js 的时候应该特别注意的几个问题.
一个已封装好的漂亮进度条
漂亮的widgets,支持换肤和后期开发新皮肤
用javascript实现的仿Flash广告图片轮换效果

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 279 ::
收藏到网摘: n/a

在JavaScript中可以用下面的几种方法申明对象:(从"Truly"的文章中学到) 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在对象上下文中的改变。