Time of Update: 2017-01-19
JavaScript區分大小寫:在JavaScript中變數、函數都是區分大小寫,例如: 複製代碼 代碼如下: function myfunction(){}和 function myFunction(){}不同 JavaScript中核心對象Array、Object等也是區分大小寫。 單引號和雙引號:這個問題在學SQLServer拼接字串"select * from page where
Time of Update: 2017-01-19
在處理網頁圖片時,特別是一些圖片列表的應用裡面,很難保證圖片統一大小,直接設定圖片大小又會導致圖片展開,造成圖片模糊,本文介紹的代碼可以在圖片載入完成後自動按比例調整圖片大小。 Javascript: 複製代碼 代碼如下: < script language="javascript" type="text/javascript"> < !-- // 說明:用 JavaScript 實現網頁圖片等比例縮放 // 整理:http://www.CodeBit.cn function
Time of Update: 2017-01-19
使用的微軟的Json序列化庫那麼date會是複製代碼 代碼如下:/Date(1224043200000)/ 有效做法是 mydate.replace(/\/Date\((.*?)\)\//gi, "new Date($1)"); 如果要轉換格式,最好寫個擴充方法:Date.prototype.pattern=function(fmt) {
Time of Update: 2017-01-19
注:翻譯之中有什麼不恰當的地方,歡迎大家指正,祝大家雙節快樂! 如果不是有特殊需要而去擴充原生對象和原型(prototype)的做法是不好的 複製代碼 代碼如下: //不要這樣做 Array.prototype.map = function() { // 一些代碼 }; 除非這樣做是值得的,例如,向一些舊的瀏覽器中添加一些ECMAScript5中的方法。 在這種情況下,我們一般這樣做: 複製代碼 代碼如下: if (!Array.prototype.map) {
Time of Update: 2017-01-19
來自John Resig早年的文章,大致翻譯了一下,以作備忘。 令人高興的是,我想我終於可以說,“現在,JavaScript的Getters和Setters使用非常廣泛,它和每個JavaScript開發人員的切身利益息息相關”。靠,我為了說這句話已經等了很久了。 首先,我們先來快速瞭解什麼是Getters和Setters,以及它們為什麼很有用。然後,我們來看看現在都有哪些平台支援Gettets和Setters。 Getters和Setters
Time of Update: 2017-01-19
先說一種最普遍的思路: 把圖片們用ul之類的包起來,並設定float。然後設定這個ul本身為absolute定位,其父標籤用relative定位。通過設定ul的left或top值,實現圖片隊列的滾動效果 特點: 只操作一個html元素(即上文的ul),對系統開銷小;滾到頭會復原;從大序號滾動到小序號也會復原;從最後序號滾動到第一個,會“咻”的一下把所有中間的圖片也路過一次。 另一種思路就是我在XScroll.js裡實現的思路,所有圖片用絕對位置。具體看那篇文章吧。
Time of Update: 2017-01-19
我們先看一段傳統的繼承代碼: 複製代碼 代碼如下: //定義超類 function Father(){ this.name = "父親"; } Father.prototype.theSuperValue = ["NO1","NO2"]; //定義子類 function Child(){ } //實現繼承 Child.prototype = new Father(); //修改共用數組 Child.prototype.theSuperValue.push("修改"); //建立子類執行個體
Time of Update: 2017-01-19
這本書中第一個重要的內容就是介面。大家對介面應該都不陌生,簡單的說介面就是一個契約或者規範。在強型別的面相對象語言中,介面可以很容易的實現。但是在javascript中並沒有原生的建立或者實現介面的方式,或者判定一個類型是否實現了某個介面,我們只能利用js的靈活性的特點,類比介面。 在javascript中實現介面有三種方式:注釋描述、屬性驗證、鴨子模型。 note:因為我看的是英文書,翻譯水平有限,不知道有些詞彙如何翻譯,大家只能領會精神了。 1. 注釋描述 (Describing
Time of Update: 2017-01-19
本文分上下兩部分,上部講基本模式(basic patterns):完全暴露法,底線標記法和使用閉包;下部講進階模式(Advanced Patterns),如何?靜態方法和屬性,常量還有其他一些知識點。 封裝是物件導向語言很基本也是很有用的特性,雖然javascript也可以稱的上是物件導向語言,但他對封裝的支援並不是很好,不像其他語言,只要使用private、protected就可以實現。但這並不是說就沒有辦法了,下面我就介紹下如何在javascript中實現封裝。
Time of Update: 2017-01-19
什麼情況下才會出現跨域? 假設網域名稱是:http://www.example.com.cn/ 如果所請求的網域名稱跟這個網域名稱不致,這種情況就是跨域,由於跨域存在漏洞,所以一般來說正常的跨域請求方式是請求不到的。 解決方式: 一、window.name 1、 伺服器返回 複製代碼 代碼如下: <script>window.name='{"id":"3", "name":"leisure"}';</script> 2、定義一個iframe,添加onload事件 <
Time of Update: 2017-01-19
具體題目是這樣的: 從1--9中選取N個數字,組成不重複的N位元,從小到大進行編號,當輸入其中任何一個數M時,能找出該數字對應 的編號。如 N=3,M=213. 輸出:[123(1) , 132(2) , 213(3) , 231(4) , 312(5) , 321(6)]--->X=2
Time of Update: 2017-01-19
replace函數接受兩個參數,第一個參數為字串或Regex,第一個參數同樣可以接受一個字串,還可能是一個函數。 首先對於第一個參數為字串的我們不再需要多說"I am a boy".replace("boy","girl"),輸出:"I am a girl"。在這裡想說的是第一個參數為正則的情形。對於Regex來說首先會根據是否全域的(全域//g)決定替換行為,如果是全部的則替換全部替換,非全域的只有替換首個匹配的字串。例如:複製代碼
Time of Update: 2017-01-19
複製代碼 代碼如下: function copyToExcel(tableid) { //控制按鈕 var btn = document.getElementById("copy"); btn.setAttribute("disabled", "true"); btn.setAttribute("value", "處理中..."); var curTbl = document.getElementById(tableid); try { var oXL = new ActiveXObject("
Time of Update: 2017-01-19
小時候我們玩過拼圖遊戲,是用自己的手去拼的。今天我們來研究研究用javascript來拼圖。同樣是拼圖,但用js拼圖要比用手拼圖麻煩多了,因此以後我要把它最佳化成引擎。一、前言以上是一段導語,話不扯遠,對《三國志曹操傳》熟悉的玩家知道,《三國志曹操傳》的地圖是由小地圖塊拼成的,那要實現它就和導語說得一樣:很麻煩。不過即使麻煩也是一門技術,因此在此分享給大家,希望大家喜歡。二、代碼講解今天我要換換講解方式,先不給代碼,我們先來想想原理。現在,假如你有一幅圖片,把它裁開成若干份,並打亂。現在如果讓你
Time of Update: 2017-01-19
parseInt(string, radix) 有2個參數,第一個string 是傳入的數值,第二個radix是 傳入數值的進位,參數radix 可以忽略,預設為 10,各種進位的數轉換為 十進位整數(如果不是整數,向下取整)。 radix 的取值範圍是 2~36,如果 radix 為 1 或 radix>36 ,轉換結果將是 NaN ,如果 radix 為 0 或其它值將被忽略,radix 預設為 10 。
Time of Update: 2017-01-19
1.稀疏數組 建立一個指定長度的稀疏數組很簡單: 複製代碼 代碼如下: > var a = new Array(3); > a [ , , ] > a.length 3 > a[0] undefined 當你遍曆它時,你會發現,它並沒有元素.JavaScript會跳過這些縫隙. 複製代碼 代碼如下: > a.forEach(function (x, i) { console.log(i+". "+x) }); > a.map(function (x, i)
Time of Update: 2017-01-19
很多時候需要用到限制文字框的數字輸入,試過許多方法,都不太理想,遂決定自己實現一個來玩玩。 曾經使用過的方法 通過onkeydown事件來控制只允許數字: 複製代碼 代碼如下: <input onkeydown="return event.keyCode>=48&&event.keyCode<=57||event.keyCode>=96&&event.keyCode<=105" /> 通過jQuery外掛程式Masked
Time of Update: 2017-01-19
分享一個Javascript編寫函數的最佳化技巧。 適用的函數應該要滿足以下條件: 產生固定結果頁面中多次調用 複雜或較耗時 代碼和分析如下: Java代碼: 複製代碼 代碼如下: //產生固定結果並且在頁面中多次調用的函數 function check() { //類比耗時操作 var begin = Date.now(); //ECMAScript5添加的,若不支援請改成 +new Date(); var ONE_SECOND = 1000, result = false;
Time of Update: 2017-01-19
常常會在回複和引用裡使用此功能,即單擊回複或引用,如讓輸入焦點出現在留言輸入框中,如果使用錨來定位,輸入焦點就不能啟用了。 複製代碼 代碼如下: javascript:document.getElementById("id").focus(); 或javascript:document.all.id.focus(); 或javascript:document.all.name.focus(); 例子: 複製代碼 代碼如下: <input type="text" name="tt" id=
Time of Update: 2017-01-19
前言上一篇文章,我們講解了映像的虛擬邊緣,這篇文章開始進行平滑(也就是模糊)處理。基本原理這裡直接引用OpenCV 2.4+ C++ 平滑處理和OpenCV 2.4+ C++ 邊緣梯度計算的相關內容:平滑也稱模糊, 是一項簡單且使用頻率很高的影像處理方法。平滑處理時需要用到一個濾波器。 最常用的濾波器是線性濾波器,線性濾波處理的輸出像素值(例如:)是輸入像素值(例如:)的加權平均: 稱為核,