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

 更新时间:2008年10月02日 00:41:07   转载 作者:  
在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在对象上下文中的改变。

相关文章

  • js控制table合并具体实现

    js控制table合并具体实现

    这篇文章主要介绍了js控制table合并的具体实现,需要的朋友可以参考下
    2014-02-02
  • JavaScript获取当前网页最后修改时间的方法

    JavaScript获取当前网页最后修改时间的方法

    这篇文章主要介绍了JavaScript获取当前网页最后修改时间的方法,涉及javascript中document.lastModified属性的使用技巧,需要的朋友可以参考下
    2015-04-04
  • JS异步函数队列功能实例分析

    JS异步函数队列功能实例分析

    这篇文章主要介绍了JS异步函数队列功能,结合实例形式分析了异步函数队列的应用场景、实现方法与相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • js判断浏览器的环境(pc端,移动端,还是微信浏览器)

    js判断浏览器的环境(pc端,移动端,还是微信浏览器)

    这篇文章主要介绍了js判断浏览器的环境(pc端,移动端,还是微信浏览器),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • JavaScript动态添加数据到表单并提交的几种方式

    JavaScript动态添加数据到表单并提交的几种方式

    这篇文章主要介绍了JavaScript动态添加数据到表单并提交,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-06-06
  • JavaScript对象数组的排序处理方法

    JavaScript对象数组的排序处理方法

    这篇文章主要介绍了JavaScript对象数组的排序处理方法,以实例形式分析了JavaScript对象数组的排序原理与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • JavaScript中操作字符串小结

    JavaScript中操作字符串小结

    字符串在javascript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更多...。JavaScript的核心部分提供了一组属性和方法用于通用的字符串操作,如分割字符串,改变字符串的大小写,操作子字符串等。
    2015-05-05
  • JS获取一个未知DIV高度的方法

    JS获取一个未知DIV高度的方法

    这篇文章主要介绍了JS获取一个未知DIV高度的方法,涉及javascript针对页面元素属性的动态操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • 浅谈JavaScript中的属性:如何遍历属性

    浅谈JavaScript中的属性:如何遍历属性

    下面小编就为大家带来一篇浅谈JavaScript中的属性:如何遍历属性。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • JavaScript访问字符串中单个字符的两种方法

    JavaScript访问字符串中单个字符的两种方法

    这篇文章主要介绍了JavaScript访问字符串中单个字符的两种方法,本文分别讲解了索引方式访问单个字符串、charAt()函数访问单个字符以及两种方式的不同,需要的朋友可以参考下
    2015-07-07

最新评论