Time of Update: 2017-01-13
不知道你們最近忙不忙,反正我是忙得夠嗆。要組織班上的活動,還要折騰我的新機器。(我新買的電腦,沒買音效卡,更可氣的是沒法上網)昨天晚上看《鹿鼎記》覺得翻頁太不舒服了,自己寫了一個翻頁的,JavaScript不能對一個text/plain類型的進行scroll,只好結合ASP來做了。Reader.html<html><head><meta http-equiv="Content-Type" content="text/html;
Time of Update: 2017-01-13
提示:您可以先修改部分代碼再運行 Javascript實現無縫隙上下左右滾動效果
Time of Update: 2017-01-13
提示:您可以先修改部分代碼再運行 Dialog點我試試再點一下 提示:您可以先修改部分代碼再運行
Time of Update: 2017-01-13
提示:您可以先修改部分代碼再運行 js隨機產生滾動發貨記錄 提示:您可以先修改部分代碼再運行
Time of Update: 2017-01-13
提示:您可以先修改部分代碼再運行 提示:您可以先修改部分代碼再運行
Time of Update: 2017-01-13
提示:您可以先修改部分代碼再運行 提示:您可以先修改部分代碼再運行
Time of Update: 2017-01-13
在程式設計語言中,對象並不像真實世界中那樣隨處可見,隨口可以指代。通常我們只有少數的原生對象,剩下的,需要我們自己去建立。在Java語言中,建立一隻會“咯咯咯”叫的雞時,我們是這麼做的:public class Chicken{ public void makeSound(){ System.out.println("咯咯咯"); }} Chicken littleChicken = new
Time of Update: 2017-01-13
物件導向語言有三個特徵:
Time of Update: 2017-01-13
策略模式指的是定義一些列的演算法,把他們一個個封裝起來,目的就是將演算法的使用與演算法的實現分離開來。以策略模式的思路實現上邊例子的效果的js代碼:1. 首先封裝移動節點的緩動演算法/* * 緩動演算法: 接收4個參數,分別表示: 動畫已消失的時間, 小球原始位置, 小球目標位置, 動畫持續的總時間 */var tween = { linear: function(t, b, c,
Time of Update: 2017-01-13
Number() 用來轉換數字, String() 用來轉換字串, Boolean() 用來轉換布爾值。 JavaScript 資料類型JavaScript中能夠容納值的資料類型有五種:· string· number· boolean· object· function其中物件類型又分為三種:· Object· Date· Array另外兩種為不能容納值的資料類型:· null· undefinedtypeof
Time of Update: 2017-01-13
構建一個應用程式總是會面對非同步呼叫,不論是在 Web 前端介面,還是 Node.js 服務端都是如此, JavaScript 裡面處理非同步呼叫一直是非常噁心的一件事情。以前只能通過回呼函數,後來漸漸又演化出來很多方案,最後 Promise 以簡單、易用、相容性好取勝,但是仍然有非常多的問題。其實 JavaScript 一直想在語言層面徹底解決這個問題,在 ES6 中就已經支援原生的 Promise ,還引入了 Generator 函數,終於在 ES7 中決定支援 async 和 await
Time of Update: 2017-01-13
JavaScript單線程JavaScript這門語言運行在瀏覽器中,是以單線程的方式啟動並執行。說到單線程,就得從作業系統進程開始說起。進程和線程都是作業系統的概念。進程是應用程式的執行執行個體,每一個進程都是由私人的虛擬位址空間、代碼、資料和其它系統資源所組成;進程在運行過程中能夠申請建立和使用系統資源(如獨立的記憶體地區等),這些資源也會隨著進程的終止而被銷毀。而線程則是進程內的一個獨立執行單元,在不同的線程之間是可以共用進程資源的,所以在多線程的情況下,需要特別注意對臨界資源的存取控制。
Time of Update: 2017-01-13
js是一個很自由的語言,沒有強型別的語言的那種限制,實現一個功能往往有很多做法。繼承就是其中的一個,在js中繼承大概可以分為四大類,上面一篇文章也提及過一些,下面開始詳細說說js的繼承。1、原型繼承---最簡單,最常用的 function funcA(){ this.show=function(){
Time of Update: 2017-01-13
一. 普通對象與函數對象JavaScript 中,萬物皆對象!但對象也是有區別的。分為普通對象和函數對象,Object ,Function 是JS內建的函數對象。下面舉例說明 function f1(){}; var f2 = function(){}; var f3 = new Function('str','console.log(str)'); var o3 = new f1(); var o1 = {};&
Time of Update: 2017-01-13
"迴圈載入"(circular dependency)指的是,a指令碼的執行依賴b指令碼,而b指令碼的執行又依賴a指令碼。 // a.js var b = require('b'); // b.js var a =
Time of Update: 2017-01-13
建立自訂的HTML元素我們可以使用 document.registerElement() 建立自訂的HTML元素,這個函數返回的是一個建構函式,第一個參數是用來聲明自訂HTML元素的名稱,第二個參數是可選的,用來描述原型的對象,自訂功能的元素。在下面的樣本中,簡單的建立了一個新的HTML元素<x-treehouse>,並且將它放入到頁面中:var XTreehouseElement =
Time of Update: 2017-01-13
瞭解JS效能最佳化是學習前端必備的一項技能。下面我們來總結js效能最佳化方法:1.注意範圍,避免全域尋找。訪問全域變數比訪問局部變數慢,是因為需要遍曆範圍鏈,尋找範圍鏈需要額外的時間。所以在一個函數中,將訪問多次的全域對象或者域外變數儲存為局部變數來使用。如某個方法需引用全域變數的值,則在該方法所在的對象的範圍中定義一個局部變數等於全域變數的值。避免不必要的屬性尋找,將屬性設定為局部變數。function(){ var title = document.title; for(var i=0;
Time of Update: 2017-01-13
使用DOM控製表格表格常用的DOM表格添加操作的方法常用的為insertRow()和insertCell()方法。row是從零開始計算起的,例如:var oTr = document.getElementById("member").insertRow(2)是指將新行添加到第二行。var aText = new Array(); aText[0] = document.createTextNode("fresheggs"
Time of Update: 2017-01-13
在上代碼之前先說一下簡單的原理,我們知道在 img 標籤中的 src 屬性是指向圖片地址,要實現非同步載入,就先暫時不給 src 屬性賦值,而是先找個中間變數的屬性 data-src,把圖片地址寫在 data-src 屬性裡,然後當觸發 onclick 事件的時候,把 data-src 的值複製給 src,也就實現了非同步載入。代碼時間到,因為無論是 jQuery 還是 JavaScript 的方法,HTML 的結構是相同的,如下: 代碼如下複製代碼 <div id=&
Time of Update: 2017-01-13
lightbox類效果為了讓圖片置中顯示而使用預先載入,需要等待完全載入完畢才能顯示,體驗不佳(如filick相簿的全屏效果)。javascript無法擷取img檔案頭資料,真的是這樣嗎?本文通過一個巧妙的方法讓javascript擷取它。這是大部分人使用預先載入擷取圖片大小的例子: 代碼如下複製代碼 var imgLoad = function (url, callback) { var img = new Image(); &