Time of Update: 2017-01-19
本文執行個體講述了javascript簡單判斷輸入內容是否合法的方法。分享給大家供大家參考,具體如下:關於檢測使用者輸入的內容是否有非法的字元檢測實現思路1、定義合法的字串(源字串)2、擷取使用者輸入的內容3、迴圈的取出使用者輸入的每一個字元,去源字串中尋找 1)、尋找到了,返回字串尋找的位置 2)、沒有找到返回-1,我們正好利用-1檢測使用者輸入的內容是否合法<!DOCTYPE html PUBLIC "-//W3C//DTD
Time of Update: 2017-01-19
JavaScript作為一個物件導向語言(JS是基於對象的),可以實現繼承是必不可少的,但是由於本身並沒有類的概念,所以不會像真正的物件導向程式設計語言通過類實現繼承,但可以通過其他方法實現繼承。實現繼承的方法很多,下面就只是其中的幾種。一. 原型鏈繼承function Person() { //被繼承的函數叫做超類型(父類,基類) this.name='mumu'; this.age='18'; }
Time of Update: 2017-01-19
本文執行個體講述了javascript實現的猜數小遊戲。分享給大家供大家參考,具體如下:<!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
IE相容性沒處理,確切的說不太會,還望指點一二思路:1、js擷取要給定點擊事件的按鈕組對象,如btns=document.xxx(),遍曆過程綁定事件之前先取得當前對象的下標eg:btns[i].index=i;2、匹配index為將要顯示的DOM對象3、點擊過程中要切換class,先判斷是否含有指定class,有就刪除,沒有就添加指定class。注:if(!null)為真.4、onmouseover同理HTML<!DOCTYPE html><html
Time of Update: 2017-01-19
繼承簡介 在JS中繼承是一個非常複雜的話題,比其他任何物件導向語言中的繼承都複雜得多。在大多數其他物件導向語言中,繼承一個類只需使用一個關鍵字即可。在JS中想要達到繼承公用成員的目的,需要採取一系列措施。JS屬於原型式繼承,得益於這種靈活性,我們既可以使用標準的基於類的繼承,也可以使用更微妙一些的原型式繼承。在JS中應該要明確一點,一切繼承都是通過prototype來進行的,且JS是基於對象來繼承的。繼承:function
Time of Update: 2017-01-19
在討論bind()方法之前我們先來看一道題目:var altwrite = document.write; altwrite("hello");
Time of Update: 2017-01-19
curry化來源與數學家 Haskell Curry的名字 (程式設計語言 Haskell也是以他的名字命名)。 柯裡化通常也稱部分求值,其含義是給函數分步傳遞參數,每次傳遞參數後部分應用參數,並返回一個更具體的函數接受剩下的參數,這中間可嵌套多層這樣的接受部分參數函數,直至返回最後結果。因此柯裡化的過程是逐步傳參,逐步縮小函數的適用範圍,逐步求解的過程。 柯裡化一個求和函數 按照分步求值,我們看一個簡單的例子var concat3Words = function (a,
Time of Update: 2017-01-19
• 柯理化函數思想:一個js預先處理的思想;利用函數執行可以形成一個不銷毀的範圍的原理,把需要預先處理的內容都儲存在這個不銷毀的範圍中,並且返回一個小函數,以後我們執行的都是小函數,在小函數中把之前預先儲存的值進行相關的操作處理即可;• 柯裡化函數主要起到預先處理的作用;• bind方法的作用:把傳遞進來的callback回調方法中的this預先處理為上下文context;/*** bind方法實現原理1* @param callback [Function]
Time of Update: 2017-01-19
以var a = [4,2,6,3,1,9,5,7,8,0];為例子。1.希爾排序。 希爾排序是在插入排序上面做的升級。是先跟距離較遠的進行比較的一些方法。function shellsort(arr){ var i,k,j,len=arr.length,gap = Math.ceil(len/2),temp; while(gap>0){ for (var k = 0; k < gap; k++) { var tagArr = [];
Time of Update: 2017-01-19
最近在看《javascript進階程式設計》(第二版)javascript中對象的建立•原廠模式•建構函式模式•原型模式•結合建構函式和原型模式•原型動態模式物件導向的語言大都有一個類的概念,通過類可以建立多個具有相同方法和屬性的對象。雖然從技術上講,javascript是一門物件導向的語言,但是javascript沒有類的概念,一切都是對象。任意一個對象都是某種參考型別的執行個體,都是通過已有的參考型別建立;參考型別可以是原生的,也可
Time of Update: 2017-01-19
本文我們實現純JS方式的滾動廣告效果,供大家參考,具體內容如下先show一下成品:首先是網頁樣式:#demo { background: #FFF; overflow:hidden; border: 1px dashed #CCC; width: 1280px; height:200px; } #demo img { border: 3px solid #F2F2F2; } #indemo { float: left; width: 800%; } #demo1 { float: left; }
Time of Update: 2017-01-19
最近在學習javaScript,學習到js物件導向中的原型時,感悟頗多。若有不對的地方,希望可以指正。js作為一門物件導向的語言,自然也擁有了繼承這一概念,但js中沒有類的概念,也就沒有了類似於java中的extends,所以,我覺得js中的繼承主要依賴於js中的原型(鏈)。那麼,原型是什麼呢?我們知道js中函數亦是一種對象,當我們建立一個函數時,其實這個函數也就預設的擁有了一個屬性叫做prototype,這個屬型叫做原型屬性,他是一個指標,指向了這個函數的原型對象,這個原型對象有一個預設的屬性
Time of Update: 2017-01-19
最近在重讀《javascript進階程式設計3》,覺得應該寫一些部落格記錄一下學習的一些知識,不然都忘光啦。今天要總結的是js執行環境和範圍。首先來說一下執行環境 一、執行環境
Time of Update: 2017-01-19
EcmaScript5簡介首先得先搞清楚ECMAScript是神馬,我們知道JavaScript或者說LiveScript最開始是Netscape搞出來的,後來微軟也跟進搞出了Jscript,ScriptEase也有自己的CENvi,這樣就有了三個版本的瀏覽器Script各行其是,大家懂這個混亂的,於是乎標準化的問題被提上議事議程。1997年以JavaScript1.1為藍本的建議被提交到歐洲電腦製造商協會( E uropean C omputer M anufacturers A
Time of Update: 2017-01-19
參考型別參考型別是一種資料結構,用於將資料和功能組織在一起。它也常被稱為類,但這種稱呼並不妥當。儘管 ECMAScript從技術上講是一門物件導向的語言,但它不具備傳統的物件導向語言所支援的類和介面等基本結構。參考型別有時候也被稱為對象定義,因為它們描述的是一類對象所具有的屬性和方法。前面提到過,參考型別的值便是對象,在ECMAScript中,參考型別是一種資料結構,用於將資料和功能組織在一起,而對象則是某個特定參考型別的執行個體。var a=new Object();
Time of Update: 2017-01-19
在上一篇文章http://www.jb51.net/article/83504.htm中,用javascript實現了使用者驗證,但並沒有對密碼進行驗證,這次追加了這個功能,並分別用javascript和jquery實現。一.用jquery的ajax實現的關鍵代碼實現如下/*jquery實現$(document).ready(function(){ $("#account").blur(function(event) { $.ajax({ type:"GET",
Time of Update: 2017-01-19
在這篇文章中將給大家分享12個有關於JavaScript的小技巧。這些小技巧可能在你的實際工作中或許能協助你解決一些問題。使用!!操作符轉換布爾值有時候我們需要對一個變數查檢其是否存在或者檢查值是否有一個有效值,如果存在就返回true值。為了做這樣的驗證,我們可以使用!!操作符來實現是非常的方便與簡單。對於變數可以使用!!variable做檢測,只要變數的值為:0、null、" "、undefined或者NaN都將返回的是false,反之返回的是true。比如下面的樣本:function
Time of Update: 2017-01-19
在JavaScript中,數組可以使用Array建構函式來建立,或使用[]快速建立,這也是首選的方法。數組是繼承自Object的原型,並且他對typeof沒有特殊的傳回值,他只返回'object'。js中,可以說萬物皆對象(object),一個數組也是一個對象(array)。很多個物件都有很多很方便的方法 比如數組的push,concat,slice等等,但是如果一些對象,它沒有實現這些方法,我們還是想使用這些功能。那該怎麼辦呢?1、很多方法都提供了非常高效的實現,
Time of Update: 2017-01-19
現在主流的分享工具也有很多,例如JiaThis、bShare分享,甚至一些大公司的如百度分享,但是他們依舊停留在只是在PC端的分享,對手機端的支援不是太好。 大家都知道現在很多手機端瀏覽器都內建了一些分享組件,像UC瀏覽器、QQ瀏覽器,內建的組件分享可以直接啟動相應的APP分享,要是一個JS能呼叫瀏覽器的內建分享組件,那是多麼酷啊。 高手在民間啊,下面雲棲社區的小編就帶你來看看這位兄弟的編寫的JS庫。一、工具介紹 nativeShare.js
Time of Update: 2017-01-19
本文主要介紹一種新的廣告後載入的方式,支援自訂HTML廣告、百度聯盟廣告和Google聯盟廣告。這種方式在頁面載入完成後執行,不影響內容的顯示,對使用者更加友好。 我們在網站上放置廣告,最簡單的方法就是把JS代碼,插入指定的位置,這樣帶了後果就是,頁面按照順序載入,偶爾一條廣告代碼卡住,整個頁面都會卡住,給使用者帶來的體驗是極差的。 那麼怎麼解決這種問題呢?先說一下原理,在我們的頁面上先預留一些預留位置,為了不影響頁面內容的載入,我們在頁面的底部引入JS處理,逐個把預留位置替換成相應的廣