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

Javascript
javascript下操作css的float属性的特殊写法
javascript之DIV拖动类 支持在FF下拖动,调用简单
Expandable "Detail" Table Rows
用javascript实现给出的盒子的序列是否可连为一矩型
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
JS创建优美的页面滑动块效果 - Glider.js
发一个比较漂亮的选项卡动态增删的效果
可多次使用的仿126邮箱选项卡的源码
javascript仿XP关机效果的弹出窗口功能
JS控制CSS样式的方法
非常漂亮的JS代码经典广告
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
几个不错的自动收缩菜单导航效果
iframe src为图片时的高度自适应的代码
论坛转贴工具中用到的正则表达式学习正则的好例子
用javascript实现的不错的一款网页选项卡
摘自百度的图片轮换效果代码
用javascript实现旋转图片效果的代码
javascript 制作坦克大战游戏初步 图片与代码
比较简单的jquery教程 Easy Ajax with jQuery 中文版全集

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 289 ::
收藏到网摘: 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在对象上下文中的改变。