国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript下申明對象的幾種方法小結

2019-11-21 01:36:43
字體:
來源:轉載
供稿:網友
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在對象上下文中的改變。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 重庆市| 渭源县| 浏阳市| 南康市| 延川县| 合肥市| 册亨县| 无为县| 临沧市| 新竹市| 稷山县| 镇安县| 莲花县| 射阳县| 静安区| 伊金霍洛旗| 车险| 柳江县| 巴中市| 方山县| 巴彦淖尔市| 象山县| 华容县| 广宗县| 平阳县| 许昌市| 永平县| 承德市| 营山县| 涡阳县| 海伦市| 余姚市| 乌海市| 石屏县| 仙游县| 米林县| 兴城市| 定南县| 镶黄旗| 镇宁| 五常市|