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
1、DOM0級事件處理常式 將一個函數值給一個事件處理常式屬性。 例如: 複製代碼 代碼如下: var btn = document.getElementById("myBtn"); btn.onclick = funtion(){ alert(this.id); //"myBtn" } 刪除事件,btn.onclick = null; -------------------------------------------------------------------------------
Time of Update: 2017-01-19
mousedown 的時候建立拖動對象,mouseup的時候釋放對象,原理弄清楚了其實很簡單。 簡單拖拽實現代碼: 簡單拖拽實現 拖我 [Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]
Time of Update: 2017-01-19
複製代碼 代碼如下: function fors(){ obj_a = obj_b; obj_b.attr = obj_a; } 複製代碼 代碼如下: function fors(){ obj_b = {}; obj_b.attr = obj_b; } 上面是兩個個很顯示的循環參考,IE中產生了記憶體泄露,由於IE的記憶體回收機制,導至會長期佔用記憶體而不能釋放。 但閉包的記憶體泄露,有些隱蔽。因為閉包的循環參考,是間接的。 複製代碼 代碼如下: function iememery(){
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
首先clone一個DOM,設定position:absolute,然後設定top為一個比較大的負值,然後使其顯示出來,最後擷取到了DOM的寬高後,將其remove。具體代碼如下:Js代碼 複製代碼 代碼如下:function getCss(elem, css){ if (window.getComputedStyle) { return window.getComputedStyle(elem, null)[css]; }
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
複製代碼 代碼如下:function public_GetParentByTagName(element, tagName) { var parent = element.parentNode; var upperTagName = tagName.toUpperCase(); //如果這個元素還不是想要的tag就繼續上溯
Time of Update: 2017-01-19
複製代碼 代碼如下:/* * zoomCheck */jQuery(function($){ var dCheck = $("#zoomCheck"); if(dCheck.size() != 0){ return; } dCheck = $("<span></span>").attr('id',"zoomCheck").css({
Time of Update: 2017-01-19
首先介紹下關聯陣列:複製代碼 代碼如下:<script> var test=new Object(); test["a"]=1; test["b"]="string"; test["c"]=false; alert(test["a"]); </script> 執行上面的代碼,顯示1。在javascript中,方法和屬性一樣當做值來看待。複製代碼 代碼如下:<script> var test={ a:1, b:"string", c:false,
Time of Update: 2017-01-19
先看代碼:複製代碼 代碼如下:<script> alert(parseInt("3.54 apples")); alert(parseFloat("3.54 apples")); </script> <script>alert(parseInt("3.54 apples"));alert(parseFloat("3.54 apples"));</script>運行結果:parseInt()和parseFloat()兩個方法都是從左邊的字串開始尋找,
Time of Update: 2017-01-19
小時候我們玩過拼圖遊戲,是用自己的手去拼的。今天我們來研究研究用javascript來拼圖。同樣是拼圖,但用js拼圖要比用手拼圖麻煩多了,因此以後我要把它最佳化成引擎。一、前言以上是一段導語,話不扯遠,對《三國志曹操傳》熟悉的玩家知道,《三國志曹操傳》的地圖是由小地圖塊拼成的,那要實現它就和導語說得一樣:很麻煩。不過即使麻煩也是一門技術,因此在此分享給大家,希望大家喜歡。二、代碼講解今天我要換換講解方式,先不給代碼,我們先來想想原理。現在,假如你有一幅圖片,把它裁開成若干份,並打亂。現在如果讓你
Time of Update: 2017-01-19
首先來說,讓一個遊戲賦有可玩性必須要動靜結合。(哈哈,大家以為我要講作文了。。。但其實我今天要講的是Javascript)靜態東西誰不會做呢?因為東西一生下來就是靜態(除非你是用的gif動畫),所以不需要任何處理就能完成靜態。那麼我將要在下面告訴大家如何運用Javascript將靜態圖片變為動態圖片。一、圖片準備 fight01.pngfight02.pngfight03.pngfight04.png03.png02.png01.png首先,我找了一
Time of Update: 2017-01-19
複製代碼 代碼如下:function addBookMark(url, title){//將網頁添加到收藏addBookMark(window.location,document.title) if(document.all){ window.external.addFavorite(url,title); }else if
Time of Update: 2017-01-19
對於一個帶絕對路徑的檔案名稱如:D:\Program Files\Notepad++\Notepad++.exe首先為了避免轉義反斜線出問題,可以用Regex來將\或\\替換成#,如:D:#Program Files#Notepad++#Notepad++.exe之後以‘#'為分隔字元,將字串分解成數組,得到如下數組:D: ProgramFiles Notepad++
Time of Update: 2017-01-19
以下面的html為例 複製代碼 代碼如下: <div id="myDiv" class="bd" title="我是div"> <img id="img1" /> <a id="myA" href = "http://www.baidu.com">百度</a> </div> 1.通過HTMLElement類型(對象)的屬性獲得和設定元素特性 複製代碼 代碼如下: var div =
Time of Update: 2017-01-19
javascript中window.confirm這個方法很好用,可以彈出一個確認對話方塊我們之所以彈出這個對話方塊,可能就是因為該操作很危險,所以要使用者確認。但如果預設選擇"確定",則可能違背了這個原則。 另外,confirm對話方塊的按鈕都是固定在"確定"和"取消"這兩個。可能有些時候也不是很直觀。 所以,可以考慮用vbscript中的msgbox來改寫這個行為。下面是一個範例 複製代碼 代碼如下: <%@ Page Language="C#"
Time of Update: 2017-01-19
1.擷取樣式表裡面的width,border color 之類的css(不是行間) 主要是IE6-7支援currentStyle,標準瀏覽器支援getComputedStyle;執行個體:封裝函數 複製代碼 代碼如下: function getStyle(obj,name){ if(obj.currentStyle){ return obj.currentStyle[name]; } else{ return getComputedStyle(obj,false)[name]; } } 調用:
Time of Update: 2017-01-19
全排列是一種時間複雜度為:O(n!)的演算法,前兩天給學生講課,無意間想到這個問題,回來總結了一下,可以由7種演算法求解,其中動態迴圈類似回溯演算法,實現起來比較繁瑣,故總結了6種,以饗讀者。所有演算法均使用JavaScript編寫,可直接運行。演算法一:交換(遞迴)複製代碼 代碼如下:<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta