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

首頁 > 語言 > JavaScript > 正文

面向對象的Javascript之一(初識Javascript)

2024-05-06 14:22:33
字體:
來源:轉載
供稿:網友
1. Javascript最大的特性在于其靈活性。作為一名前端開發人員,既可以采用函數式的編程風格,也可以采用更復雜一點的面向對象的編程風格。不管你采用哪種風格,都可以完成一些非常有用的任務。因而,Javascript是一門面向過程的語言,同時也是一門面向對象的語言,進而可以模仿面向對象語言的編程模式和慣用法。我們用一個例子來說明:啟動和停止動畫。

如果你習慣于函數式的編程風格,代碼會如下:
代碼如下:
function startAnimation() {
//啟用動畫
}
function stopAnimation() {
//停止動畫
}

這種方法很簡單,但卻無法創建保存狀態以及僅對內部狀態進行操作的動畫對象。下面我們定義一個類:
代碼如下:
var Animation = function() {
//動畫類
};
Animation.prototype.start = function() {
//啟用動畫
};
Animation.prototype.stop = function() {
//停止動畫
};
/*用法如下*/
var anim = new Animation();
anim.start();
anim.stop();

如果你想將類的定義封裝到一條聲明中,則代碼如下:
代碼如下:
var Animation = function() {
//動畫類
};
Animation.prototype = {
start: function(){
//啟用動畫
},
stop: function(){
//停止動畫
}
};

這樣讓面向對象的程序員看起來更加眼熟,我們可以試著嘗試更復雜一點的寫法:
代碼如下:
Function.prototype.method = function(name, fn){
this.prototype[name] = fn;
}
var Animation = function() {
//動畫類
};
Animation.method("start", function(){
//啟用動畫
});
Animation.method("stop", function(){
//停止動畫
});

我們為Function類擴展了一個方法method用于添加新方法。name代表函數名稱,fn代表函數的具體實現。在基于此寫法的基礎之上,我們可以讓函數支持鏈式調用:
代碼如下:
Function.prototype.method = function(name, fn){
this.prototype[name] = fn;
return this;
}
var Animation = function() {
//動畫類
};
Animation.method("start", function(){
//啟用動畫
}).method("stop", function(){
//停止動畫
});

至此已經見識了5種不同的編程風格,具有不同的代碼量、編碼效率和執行性能。你可以選擇最適合當前項目的編程風格來進行工作。

2. Javascript是一門弱類型語言。聲明變量時不必指定類型,但并不代表沒有類型。Javascript包含三種基本類型:布爾型、數值型和字符串類型,此外還包含對象類型和函數類型,最后還包含空類型和未定義類型。基本類型按值傳遞,其他類型按引用傳遞??梢愿鶕兞抠x值改變類型,基本類型之間可以相互轉換。toString()可以把數值或布爾值轉化為字符串,parseInt()和parseFloat()可以將字符串轉化為數值,雙"非"操作可以將字符串或數值轉化為布爾值。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 五指山市| 武清区| 定西市| 公安县| 咸阳市| 揭东县| 安溪县| 翁源县| 平昌县| 阿尔山市| 玛曲县| 新平| 类乌齐县| 图木舒克市| 巴中市| 齐齐哈尔市| 绍兴县| 郑州市| 河东区| 恩施市| 米泉市| 阿拉善左旗| 科技| 舞钢市| 乐平市| 芦山县| 达日县| 迁安市| 汾阳市| 巩义市| 拜泉县| 神池县| 乌拉特前旗| 疏附县| 浦县| 三江| 武川县| 乌什县| 五华县| 韶关市| 通辽市|