JavaScript下申明对象的几种方法小结_Javascript教程-查字典教程网
JavaScript下申明对象的几种方法小结
JavaScript下申明对象的几种方法小结
发布时间:2016-12-30 来源:查字典编辑
摘要:1.varmyObject={};2.functionmyObject(){....}3.varmyObject=function(){};...

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教程学习
    编程开发子分类