Time of Update: 2018-12-08
深入學習javascript繼承之前,先瞭解下面的幾個概念: 父類:被繼承的類 子類:由繼承得來的類 超類:也就是父類 抽象類別:一般不用來執行個體化的類,它的用途是用來給其他類繼承. 基類:提供給其他類可以繼承的類 衍生類別:由基類繼承而來的類 javascript對象繼承通常有下面的5種方式: 1.對象冒充 2.call()方式 3.apply()方式 4.原型鏈 5.混合方式 A.對象冒充 所謂對象冒充,就是新的類冒充舊的類(舊的類必須採用建構函式方式),從而達到繼承目的. eg.1
Time of Update: 2018-12-08
今天遇到個小問題, 在構建 DOM 時, IE 中不能通過 element.setAttribute('name', _variable); 和 element.name = _variable; 這樣的形式來為元素加上 name 屬性, 無論是 IE6 還是 IE7. (IE8 是可以的, 但 IE8rc1 不行) 後來我查看了 MSDN, 得到資訊如下: 複製代碼 代碼如下:Internet Explorer 8 and later can set the NAME attribute
Time of Update: 2018-12-08
隨便寫寫!閑著無聊!代碼如有bug之處歡迎閣下強力拍磚! JS CODE 複製代碼 代碼如下:<script type="text/javascript" language="javascript"> //總時間,已分為單位 var time = 100; //小時 var h = parseInt(time / 60) > 0 ? parseInt(time / 60) : 0; //分 var m = time % 60; //秒 var s = 60;
Time of Update: 2018-12-08
放大鏡並不是一個難以實現的效果, 只是因為牽涉到一些精確的數值計算, 顯得比較繁瑣. 在未來的一段日子, 我會不定期地寫關於 JavaScript 放大鏡系列的文章, 每次講一個點, 由點及面, 最後完成整個效果. 本次我們先瞭解如何在縮圖上移動鏡片. (這是 DEMO) 縮圖和鏡片組成的 DOM 結構如下. 複製代碼 代碼如下:<a id="thumb" href="#"> <img
Time of Update: 2018-12-08
對JavaScript 放大鏡來說, 計算倍率必不可少. 一個完整的放大鏡結構裡, 與倍率扯上關係的一共有 4 個對象, 原圖, 縮圖, 鏡片和視窗. 鏡片在縮圖上的覆蓋位置, 其實就是視窗對原圖的部分展示, 所以它們之間有如下關係. 倍率 = 原圖/縮圖 = 視窗/鏡片 倍率一般大於等於 1, 因為原圖一般都不會小於縮圖. 一旦倍率小於 1, 則將倍率設為 1. 因為縮圖和原圖的尺寸是不可變的, 所以我們通過它們來獲得倍率. 複製代碼 代碼如下:/** * 擷取放大鏡放大倍數 *
Time of Update: 2018-12-08
用過 Java 和 .NET 的同學對包或命名空間的概念應該不會陌生, 正因為有這個概念, 使代碼的簡潔易讀得到了保證. 不知 JavaScript 設計之初是如何定位 with 語句的, 個人覺得它們之間有一定的相似性. 如: 複製代碼 代碼如下:apple.banana.candy.dog.egg.fog.god.huh.index = 0; doSomething(apple.banana.candy.dog.egg.fog.god.huh.index); 利用 with 語句,
Time of Update: 2018-12-08
第一章:載入和執行 瀏覽器的JavaScript的引擎是編譯器層的最佳化; 當瀏覽器執行JavaScript代碼時,不能同時做其他任何事情(單一進程),意味著<script>標籤每次出現都霸道地讓頁面等帶指令碼的解析和執行(每個檔案必須等到前一個檔案下載並執行完成才會開始下載),所以頭部的JS和CSS用來渲染頁面,互動行為(幾乎所有)的JS放在<body>底部; 主流瀏覽器都允許並行下載JS。 減少外鏈指令碼數量將會改善效能(合并JS)
Time of Update: 2018-12-08
代碼 複製代碼 代碼如下:<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" > <head > <title>無標題頁</title> </head> <body> <table id="tb1" border="1" cellpadding="3"> <tr> <th>移動</th>
Time of Update: 2018-12-08
複製代碼 代碼如下:var str = "123#abc"; var re = /abc/ig; console.log(re.test(str)); //輸出ture console.log(re.test(str)); //輸出false console.log(re.test(str)); //輸出ture console.log(re.test(str)); //輸出false
Time of Update: 2018-12-08
以人為鏡,可知得失,看來這句話是很有道理的。 Demo 1 : 如果是一個全域的function,則this相當於window對象,在function裡定義的各種屬性或者方法可以在function外部存取到,前提是這個function需要被調用。 複製代碼 代碼如下:<script type="text/javascript"> //在function中使用this function a() { if (this == window) { alert("this == window"
Time of Update: 2018-12-08
本文是從 5 Reasons Your Javascript Stinks 這篇文章翻譯而來。 Javascript在互連網上名聲很臭,但你又很難再找到一個像它這樣如此動態、如此被廣泛使用、如此根植於我們的生活中的另外一種語言。它的低學習門檻讓很多人都稱它為學前指令碼語言,它另外一個讓人嘲笑的東西是動態語言的概念是偏偏使用了高標準的待用資料類型。其實,你和Javascript都站錯了立場,而現在,你讓Javascript很生氣。這裡有五個原因能說明你的Javascript技術很爛。 1.
Time of Update: 2018-12-08
片素材先: 背景圖片:浮雲圖片: ←——————————這裡是有圖片D~ 全選就能看見了(因為背景是白的,雲也是白的嘛~)…… CSS代碼: 複製代碼 代碼如下:<style type="text/css"> * { margin: 0; padding: 0; } body { background: url("Images/body_bg.jpg") repeat center 0 fixed; } .cloud { background: url("Images/cloud1.
Time of Update: 2018-12-08
這兩天嘗試寫個AjaxToolkit:AsyncFileUpload的Demo, 它有個OnClientUploadComplete屬性可以關聯用戶端JS, 於是可以寫OnClientUploadComplete="uploadComplete", 然後定義uploadComplete方法: 複製代碼 代碼如下:function uploadComplete(sender, e) { //Do something here... } 但是, 怎麼從e獲得上傳檔案的資訊呢?
Time of Update: 2018-12-08
複製代碼 代碼如下:function Polygon(iSliders){ //定義一個多邊形 this.silders=iSliders; } Polygon.prototype.getArea=function(){ //為多邊形定義一個去的面積的方法 return 0; } function Triangle(iBase,iHeight){ Polygon.call(this,3); //繼承多邊形對象 this.base=iBase;
Time of Update: 2018-12-08
瀏覽器為了確保正確執行指令碼和呈現布局在瀏覽器載入和執行完成它之前會完全阻塞頁面後續內容的呈現和其他資源的載入。 在頁面的載入過程中如果可以做到內容的逐步呈現,對於良好的使用者體驗來說是非常重要的。通常我們也會在wondow對象的onload事件處理函數中做一些事情,但由於指令碼阻塞載入和呈現的特性這一方面增加了頁面載入時間延遲了onload事件的觸發,另一方面也延遲了使用者所期待的反饋。這就需要我們使用一些方法來讓瀏覽器以非阻塞的方式載入外部指令碼。一
Time of Update: 2018-12-08
主要就是為了監聽鍵盤按下的是哪個鍵,並且轉成ASCII碼; 複製代碼 代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta
Time of Update: 2018-12-08
值得一提的是,當下Web開發人員們追捧的 Node.js 使得 JavaScript 能夠在更多環境下運行,甚至是網站的伺服器端,使得這門語言再次受到大家的關注。今天,本文與大家分享25個好玩的 JavaScript 小遊戲,感受一下 JavaScript 的魅力。Bunny HuntTraviansAjax Chinese ChessDigg AttackInvaders From MarsSolitaireCard GamesJetris – JavaScript
Time of Update: 2018-12-08
What is Highcharts? http://www.jb51.net/jiaoben/24363.htmlHighcharts is a charting library written in pure JavaScript, offering an easy way of adding interactive charts to your web site or web application. Highcharts currently supports line, spline,
Time of Update: 2018-12-08
/** * JavaScript ModelDialog v0.1 * * new ModelDialog({ * caption 標題 '對話方塊標題'(預設) * template 主體內容 ''(預設) * dialogCls 對話方塊className 'md-dialog'(預設) * headCls 頭部className 'md-head'(預設) * btnCloseCls 關閉按鈕className 'md-close'(預設) * bodyCls 主體className
Time of Update: 2018-12-08
複製代碼 代碼如下:isNull: function(a){ return a === null; }, isUndefined: function(a){ return a === undefined; }, isNumber: function(a){ return typeof a === 'number'; }, isString: function(a){ return typeof a === 'string'; }, isBoolean: function(a){ return