Time of Update: 2017-01-19
裡面提到“DOM是UTF-8的篇碼,如果JS庫不是分離的獨立JS檔案,而是包含在DOM裡的,這個問題是不會出現的。然而分離的JS檔案並不是UTF-8編碼,被加庫到UTF-8編碼的DOM裡,中文就出現了亂碼,並影響到引號符,使瀏覽器無法判斷字串結束。解決變法很簡單,JS檔案另存新檔UTF-8編碼格式即可。 ” 所以我修改了JavaScript的引用, <script type="text/javascript" src="**.js"
Time of Update: 2017-01-19
最近項目的部分功能正在重構,前端也基本上推翻了原來的設計,在之前半年的積累上有了新的方案。這幾天在做前端的重構和設計,遇到了一些問題。因為這個模組最主要的還是對時間的控制,大量的操作js的Date對象,可是js原生的Date方法太少了,操作起來太不方便。於是打算擴充下Date的prototype。 長期從事C#的開發,被C#影響著我的思維。C#中DateTime的操作就很方便,於是就參考它對js的Date做了擴充。 複製代碼 代碼如下: //將指定的毫秒數加到此執行個體的值上
Time of Update: 2017-01-19
使用javascript來定義類的規範如下: 指定類名與建構函式,類名(建構函式名)首字母大寫: 複製代碼 代碼如下: function YourClass(){ } 使用"this.成員變數"在其建構函式內定義(偽)私人成員,最好約定(偽)私人成員都以“_”開頭小寫字母組成。這種成員是每個對象都有自己的副本,也叫對象(執行個體)成員。 複製代碼 代碼如下: function Yourclass(_arg1,_arg2,...){ this._arg1=arg1;
Time of Update: 2017-01-19
1)Javascript對象成員實驗: 複製代碼 代碼如下: var f = function d() { this.a = "a";/*這句運行後不存在f.a也不存在d.a存在一個window.a*/ var b = "b";/*局部變數*/ }; var o = { ff: function () { var a = "a"; /*局部變數*/ this.b = "b"; /*這句運行後存在o.b*/ } }; function Man(){ this.age = 30; };
Time of Update: 2017-01-19
測試結果:safari 下是65535個.即 ushort 來儲存(2位元組 16個1).更多的則忽略.其他瀏覽器 至少是int.MaxValue .據說FireFox 甚至是用long 來維護 實參數.其他瀏覽器 也許是int 或者可能是uint .這個就不管了. 畢竟我們知道了瓶頸 在 65535.基於 以上基礎.可以在 串連數組時 考慮優先採用 [].push.apply(a,b) 代替 a=a.concat(b); 我們只需要注意 對於safari 來說
Time of Update: 2017-01-19
複製代碼 代碼如下: //初始化導航背景,iframe容器 function fnDaoHangBg() { var h = fnGetHeight(),w = fnGetWidth();//擷取背景視窗大小 if(!$('divDaoHangBg')) { var div = $C('div');//建立背景蒙板 div.id = 'divDaoHangBg'; div.style.backgroundColor = 'black'; div.style.position =
Time of Update: 2017-01-19
本篇作為開發學習筆記之一。 [文] 在web開發中經常遇到需要加亮滑鼠指向的表格行的情況。首先說說一般的情況。 ·簡單嘗試 CSS2中允許我們對HTML元素使用hover偽類,這極大的方便了對於表格的樣式的控制。 我們從一個小例子開始: XHTML(只列出了表格部分,請自行補完頁面,本例在Transational的DTD下通過): 複製代碼 代碼如下: <table class="datatable" cellspacing="0"> <thead> <tr>
Time of Update: 2017-01-19
tip.js 複製代碼 代碼如下: function tips(obj,tag){ var tip = document.createElement('div'),arg= arguments[2],left,top; //建立tipbox var bodywid= document.documentElement.clientWidth; //這裡也可以替換為容器的寬度$(id).outerWidth(); var abs = obj.getElementsByTagName(tag);
Time of Update: 2017-01-19
複製代碼 代碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type"
Time of Update: 2017-01-19
JavaScript 載入器在 Web 開發中是非常強大和有用的工具。目前流行的幾個載入器,像 curljs、LABjs 和 RequireJS 使用都很廣泛。他們功能強大的,但有些情況下可以有更簡單的方案。 如果你正在使用 jQuery,有一個內建的方法可以用來載入指令碼。如果你想消極式載入外掛程式或任何其他類型的指令碼,都可以使用這種方法。下面給大家介紹如何使用它。 實現方法 jQuery 內建有 getScript 方法來載入一個指令碼,處理返回的結果可以有幾種方法來實現。最基本的用法
Time of Update: 2017-01-19
複製代碼 代碼如下:/** * 折半尋找字元在數組中的位置(有序列表) * @param array 被檢索的數組 * @param x 要尋找的字元 * @type int * @returns 字元在數組中的位置,沒找到返回-1 */ function binarySearch(array,x){ var lowPoint=1; var higPoint=array.length; var returnValue=-1; var midPoint; var found=false;
Time of Update: 2017-01-19
The problem: scripts block downloadsLet's first take a look at what the problem is with the script downloads. The thing is that before fully downloading and parsing a script, the browser can't tell what's in it. It may contain document.write() calls
Time of Update: 2017-01-19
調用對象位於範圍鏈的前端,局部變數(在函數內部用var聲明的變數)、函數參數及Arguments對象都在函數內的範圍中——這意味著它們隱藏了範圍鏈更上層的任何同名的屬性。 2010年9月14日,我去參加網易網頁工程師招聘會,應聘JS工程師職位。有幸參加筆試,然後有幸栽在筆試,呵呵。廢話少說,抓出音響極深的一題重新研究研究。 題目大概是:寫出如下代碼的輸出結果並進行分析 複製代碼 代碼如下: var tt = 'aa'; function test(){ alert(tt); var tt = '
Time of Update: 2017-01-19
【嵌套函數】 JavaScript允許嵌入的函數,允許函數用作資料,並且在函數詞法範圍下面,可以產生與傳統物件導向語言不同的驚人地方。 首先,JavaScript的函數是通過詞法來劃分範圍的,而不是動態劃分範圍的,於是,函數的是在定義它們的範圍中運行,而不是在執行它們的範圍中運行,所以,當嵌套函數和它的外圍函數定義在同一個詞法範圍中的時候,是很容易理解的。比如下面很平淡無奇的代碼: 複製代碼 代碼如下: var x = 'global'; function f () { var x =
Time of Update: 2017-01-19
這次的遊戲的編寫難度比之前的都高很多。本次鄙人用了js的繼承以及設計模式的原廠模式,也算是一個突破。。。 遊戲的大致設計思路:1,玩家類Player:一個人能左右移動,以及上下移動的小人。擁有的基本方法:{左右移動 : 單純的鍵盤左右移動,向下移動 : 屬於向下加速度移動,每次移動都會加一個重力加速度的值,向上移動 : 其實是跟著方塊一起向上移動, 勻速向上運動,彈跳 :
Time of Update: 2017-01-19
1。善用DocumentFragment 之前有個打飛機的遊戲。我是用如下方法添加子彈 複製代碼 代碼如下: for(var i=0;i<5;i++){ var bullet = new Bullet(); document.body.appendChild(bullet); } 問題就來了,我的目的是希望同時能出現5顆子彈,所以我迴圈將5個子彈對象添加到body,這樣會導致一個結果:瀏覽器reflow了5次。
Time of Update: 2017-01-19
廢話不多說,先上代碼給大家看看 複製代碼 代碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta
Time of Update: 2017-01-19
查看了一下代碼,發現跳轉連結中使用的是location,而直接使用A產生的連結,在點擊跳轉時,卻不會彈出新的頁面。 解決: 通過JS指令碼,來類比點擊了A這樣的連結,而不使用location試了一下: 複製代碼 代碼如下:function go_link(url) { var link = document.createElement("a"); link.href = url; document.body.appendChild(link); link.click(); }
Time of Update: 2017-01-19
古人有"授之以魚,不如授之以漁" ,沒有老師,就只能自己學"漁"了。還是從簡單的開始吧! 下面的這幾句代碼是最熟悉不過的了,但是你知道為什麼這麼寫嗎?為什麼在頁面中加上這幾句代碼,jQuery對象就已經被引入了。 複製代碼 代碼如下: (function($){ //功能的實現code })(jQuery); 我就從這個開始了!程式員都懂得如何google和baidu。同樣我也一樣...噢!原來這是javascript的匿名函數。
Time of Update: 2017-01-19
軟體的長期價值直接源於其編碼品質。在它的整個生命週期裡,一個程式可能會被許多人閱讀或修改。如果一個程式可以清晰的展現出它的結構和特徵,那就能減少在以後對其進行修改時出錯的可能性。編程規範可以協助程式員們增加程式的健壯性。所有的JavaScript代碼都是暴露給公眾的。所以我們更應該保證其品質。保持整潔很重要。JavaScript檔案JavaScript程式應獨立儲存在尾碼名為.js的檔案中。JavaScript代碼不應該被包含在HTML檔案中,除非這是段特定只屬於此部分的代碼。在HTML中的Ja