Time of Update: 2018-12-07
剛才看到新聞頻道轉截的一篇文章:阮一峰:字串匹配的KMP演算法,圖文並茂通俗易懂,就用JS實現了一下,現分享出來。 演算法的核心是部分匹配表和回退演算法,部分匹配表的實現如下:function kmpGetStrPartMatchValue(str) { var prefix = []; var suffix = []; var partMatch = []; for(var i=0,j=str.length;i<j;i++){ var
Time of Update: 2018-12-07
原文:http://www.nczonline.net/blog/2012/10/16/does-javascript-need-classes/譯者注:在我長達一年的工作生涯中,我遇到過有人把建構函式稱做類,還有人把對象字面量稱做類.這比把Firefox擴充叫成外掛程式都令我*疼.下面是Brendan Eich給今年的jsconf.eu錄製的視頻,其中提到了類.無論你喜歡還是不喜歡,ECMAScript
Time of Update: 2018-12-07
前言今天搞的有點快,因為上午簡單研究了下MVC,發現MVC不太適合前端開發,然後之前看幾位前端前輩都推薦前端使用MVVM,但是我對其還不甚瞭解,所以我覺得下午還是應該先看看他是神馬先,後面再決定要不要繼續深入下去。神馬是MVVM?借用我們百科一張美圖,所謂MVVM就是model-view-viewmodel模型。他是微軟帶來的一項新的技術體驗,最先用於WPF,最後發現其模式對前端開發尤其比較合適,所以便在前端流行起來了。MVVM是對MVC的一個改進,用以適應當代Web開發。model為資料或者商
Time of Update: 2018-12-07
這個輔助函數庫是《Beginning JavaScript with DOM Scripting and Ajax》一書中的樣本,不過卻是出自作者Christian
Time of Update: 2018-12-07
http://www.csdn.net/article/2012-12-06/2812544-How-to-make-the-beautiful-JavaScript-cod在多年以前,人們注重功能是如何?的。現如今,隨著Web及互連網技術的不斷髮展,功能僅成了最基本的要求,如何寫出漂亮,整潔的代碼已成為一個大牛級程式員不可或缺的條件。一位前端開發工程師便在知乎上提問:“我是一名前端開發工程師,主要編寫JavaScript,有兩年經驗。最近在寫一些頁面上的模組,發現自己在構思的時候總是很清晰,但
Time of Update: 2018-12-07
1,前言.1.兩個月前,你從來沒有聽說過JSON的.2.一個月前,你聽說這一詞,但不重視.3.一周前,你聽說它的效能提到了幾倍,並開始覺得,有義務去學習下.4.今天你醒來了,心血來潮,對著JSON說 : 我來了. ---cssrain.cn 2.JSON是什麼?JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。易於人閱讀和編寫。同時也易於機器解析和產生。它基於JavaScript的一個子集。 JSON採用完全獨立於語言的文字格式設定,
Time of Update: 2018-12-07
英文標題:JavaScript Copy to Clipboard in FirefoxJavaScript代碼如下:function copy_to_clipboard(text) {try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch (e) {
Time of Update: 2018-12-07
百度的前端面試題,代碼如下:var a=5;function test(){ a=0; alert(a); alert(this.a); var a; alert(a);}test();new test();在Chrome上run了一下,結果是0500undefined0前三個結果好說,但對於第五個結果undefined我很疑惑,關鍵的就是這一句:alert(this.a);我的理解是,當運行到new test()這一句的時候,this指向了test,那麼this.
Time of Update: 2018-12-07
前言咳咳,葉大俠病了,昨天晚上回家時候在車上就不舒服,果然回來就掛了,本來還想今天接著上班撐下去的。但是昨天又看到一個IT巨子掛了,所以果斷請了一個假!!!但是早上7.00左右就迷迷糊糊的醒了,於是我在想我是不是該“身殘志堅”一番。。。。咳咳,以上玩笑,我們最近一起學習了很多CSS的東西,相信大家的CSS水平必定提高了吧???所以我們接下來一段時間來看看javascript吧,今天我們一起來看看閉包這個傢伙!本文參考:http://www.cnblogs.com/TomXu/http://www
Time of Update: 2018-12-07
今天看到javascript的一條經驗的總結,總結如下:在Javascript中定義一個函數,有兩種寫法:第一種是:function ftn(){}另外一種是:var ftn =
Time of Update: 2018-12-07
為什麼現在主流程式語言裡我們都要建立對象了?下面這個定義我想能給我們一個答案: 物件導向語言裡對象的定義是:對象是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規則、計劃或事件。拋開這些抽象的定義,從電腦底層技術來理解,對象其實就是一種儲存資料的方式。 寫這個系列下篇著實讓我犯難了,本來我想寫閉包和原型的,但是總覺得不好,在和一位以前同事討論javascript技術時候他告訴我們在電腦語言裡不管是什麼樣的變數其實本質都是資料在電
Time of Update: 2018-12-07
加固javascript基礎知識目的是為以後研究jQuery源碼做好鋪墊。我最近查閱javascript資料,發現了一個函數: function format(s){var args = arguments;var pattern = new RegExp("%([1-" + arguments.length + "])","g");return String(s).replace(pattern,function(word,index){return args[index];});}//
Time of Update: 2018-12-07
在我前一篇部落格裡有位童鞋問了xQuery.fn.init.prototype =
Time of Update: 2018-12-07
多年的軟體開發經驗讓我知道,做技術不管怎麼看都不如做一下,就算是讀源碼,也不應該只是讀,更多還是動手練習,做的時候身臨其境體會大師們設計的巧妙。 臨摹就是一個很不錯的練習方式,大學讀書時候我的專業是工業設計,大一大二有很多素描色彩課,那時候老師總是布置臨摹的作業,當時自己悟性太低,把臨摹當做抄襲,很少動腦筋去思考臨摹到底是咋回事,現在做軟體了,想臨摹jQuery的架構時候才發現,這是件非常困難的事情,真正的臨摹是要領悟作者的思路,只有理解了作者為什麼這麼做,才知道如何去臨摹作者的作品。
Time of Update: 2018-12-07
上篇文章裡我結束了對象的建立的內容,最後引出了範圍鏈和執行環境的問題。當我對這塊知識有了更深入的瞭解後,回頭看看jQuery源碼才知道大師們寫的代碼是如何的厲害,jQuery源碼裡很好的運用了範圍鏈和執行環境的知識來提升程式效能。 好了,不廢話了,上篇博文裡對範圍講的比較簡略。其實對範圍的理解是理解整個javascript語言的關鍵所在,特別我在寫javascript筆記時候曾對很多怪異的javascript用法無法理解的透徹,究其原因還是沒有真正理解javascript裡範圍的概念。
Time of Update: 2018-12-07
深入分析javascript裡對象的建立這個小系列是我整個部落格裡最受歡迎的文章,有博友催我把下篇寫完,昨天和今天整理資料發現一篇文章還真講不完我下半部分的內容,所以把本來打算寫的下篇分成兩部分了。 本主題的上篇裡我講到了三種對象建立的方式,最後通過類比java物件導向的思想反過來理解javascript對象的建立。如果根據標題的核心對象的建立,我所闡述的問題其實已經講完,但是我寫完上篇時候總覺得欠缺點啥,欠缺我的標題裡面的深入分析二字。小小的建立一個javascript對象它所包含的技術
Time of Update: 2018-12-07
1 <script type="text/javascript"> 2 hao("SelectType", 20); 3 function hao(id,count) { 4 var $select = $(id); 5 var s = document.getElementById('SelectType'); 6 //alert($select.innerHTML); 7
Time of Update: 2018-12-07
1 //1******** 擷取檔案上傳對話方塊中的全路徑 2 3 <script type="text/javascript"> 4 function upload() { 5 var filename = document.getElementById("importFile").value; 6 alert(filename); 7 } 8
Time of Update: 2018-12-07
1 <td>2 3 <input type="radio" id="rbtAll" name="radioType" value="上傳檔案夾" checked="checked" onclick="checking1()" />上傳檔案夾 4 5 &
Time of Update: 2018-12-07
在Javascript中並沒有空間、類、介面這些概念,Atlas對這些東西實現封裝了,增強了JavaScript物件導向方面的能力,本文看一下如何使用命名空間。 主要內容1.概述2.完整樣本 一.概述在Javascript中並沒有空間、類、介面這些概念,Atlas對這些東西進行了封裝,增強了JavaScript物件導向方面的能力,本文看一下如何使用命名空間。在使用命名空間時有兩個方法是需要我們注意的。registerNamespace:註冊一個命名空間registerClass:註冊一個類到某個