之前記錄過JavaScript中判斷為數字類型的多種方式,這篇看看如何判斷為整數類型(Integer)。JavaScript中不區分整數和浮點數,所有數字內部都採用64位浮點格式表示,和Java的double類型一樣。但實際操作中比如數組索引、位操作則是基於32位整數。方式一、使用取餘運算子判斷任何整數都會被1整除,即餘數是0。利用這個規則來判斷是否是整數。複製代碼 代碼如下:function isInteger(obj) { return obj%1 ===
我們知道JavaScript提供了typeof運算子,因此最容易想到的是用typeof來判斷是否是number類型。複製代碼 代碼如下:function isNumber(obj) { return typeof obj ===
數組分類:1、從數組的下標分為索引數組、關聯陣列複製代碼 代碼如下:/* 索引數組,即通常情況下所說的數組 */var ary1 = [1,3,5,8];//按索引去取數組元素,從0開始(當然某些語言實現從1開始)//索引實際上就是序數,一個整型數字alert(ary1[0]);alert(ary1[1]);alert(ary1[2]);alert(ary1[3]); /* 關聯陣列,指以非序數類型為下標來存取的數組 python中稱為字典 */var ary2 = {};
很多人用過 style.color、style.display 等直接設定元素的樣式屬性,但是 style.cssText 用過的人就不多了。cssText 本質是什嗎?cssText 的本質就是設定 HTML 元素的 style 屬性值。cssText 怎麼用?複製代碼 代碼如下:document.getElementById("d1").style.cssText = "color:red; font-size:13px;";看了這個樣本後,相信不說,也知道 style.cssText
在指令碼開發過程中,經常會按照某個規則,組合拼接出一個大字串進行輸出。比如寫指令碼控制項時控制整個控制項的外觀的HTML標籤輸出,比如AJAX裡得到伺服器端的回傳值後動態分析建立HTML標籤時,不過這裡我就不討論拼接字串的具體應用了,我只是想在這裡討論一下拼接的效率。字串的拼接在我們寫代碼的時候都是用“+=”這個運算子,s += String; 這是我們最為熟知的寫法,不知道大家有沒有注意過沒有,在組合的字串容量有幾十K甚至幾百K的時候,指令碼執行起來很慢,CPU使用率狂高,例如:複製代碼
Javascript在互連網上名聲很臭,但你又很難再找到一個像它這樣如此動態、如此被廣泛使用、如此根植於我們的生活中的另外一種語言。它的低學習門檻讓很多人都稱它為學前指令碼語言,它另外一個讓人嘲笑的東西是動態語言的概念是偏偏使用了高標準的待用資料類型。其實,你和Javascript都站錯了立場,而現在,你讓Javascript很生氣。這裡有五個原因能說明你的Javascript技術很爛。1.
本文執行個體講述了javascript解析json的方法。分享給大家供大家參考。具體方法如下:下載json庫http://www.json.org/json-zh.html自己找javascript的或者直接去下面的https://github.com/douglascrockford/JSON-js php產生json格式使用頁面複製代碼 代碼如下:<script src="scripts/json.js"></script>
上次研究觀察者模式,很多文章說它也叫Subscribe/Publish(發布/訂閱模式)。可在《Javascript設計模式》一書中,這兩種模式還是有些區別的。書中原話如下:1.Observer模式要求希望接收到主題通知者的觀察者必須訂閱內容改變的事件。2.Subscribe/Publish模式使用了一個主題/事件通道,這個通道介於訂閱者和發行者之間。該事件系統允許代碼定義應用程式的特定事件,該事件可以傳遞自訂參數,自訂參數包含訂閱者所需要的值。其目的是避免訂閱者和發行者產生依賴關係。與Obse
前不久有個網友問我在前端使用requireJs和seajs的問題,我當時問他你們公司以前有沒有自己編寫的javascript庫,或者javascript架構,他的回答是什麼都沒有,他只是聽說像requirejs和seajs是新東西新技術,很有價值所以想用它。 這位網友的問題引起了我對javascript模組載入技術的思考,上篇文章我給出了自己寫的一個javascript庫的基本結構,其實寫這篇文章的一個起因就是因為我想使用requirejs或者seajs這樣的技術來重新設計我寫javascri
如何能做出高效的web前端程式是我每次做前端開發都會不自覺去考慮的問題。幾年前雅虎裡牛逼的前端工程師們出了一本關於提升web前端效能的書籍,轟動了整個web開發技術界,讓神秘的web前端最佳化問題成為了大街的白菜,web前端最佳化變成了菜鳥和大牛都能回答的簡單問題,當整個業界都知道了驚天秘密的答案,那麼現有的最佳化技術已經不能對你開發的網站產生的質的飛越,為了讓我們開發的網站效能比別人的網站更加優秀,我們需要更加深入的獨立思考,儲備更加優秀的技能。Javascript裡的事件系統是我想到的第一個
ECMAScript5中引入的strict 模式,通過讓JavaScript運行環境對一些開發過程中最常見和不易發現的錯誤做出和當前不同的處理,來讓開發人員擁有一個”更好”的JavaScript語言。很長一段時間內,由於只有Firefox支援strict 模式,我曾對strict 模式表示懷疑。但到了今天,所有主流的瀏覽器都在他們的最新版本中支援了strict 模式(包括IE10,Opera12和Android4,IOS5)是時候開始使用strict 模式了。strict 模式能起到什麼作用
從今天這章開始,我將會著重介紹KitJs的事件管理的內容,盡量用淺顯的語言給大家揭露主流的js架構是如何在內部實現自己獨立的事件管理功能的。(一)普通的Dom事件 我們一般可以通過支援在HTML寫上事件<a
Kit作為一個UI庫,我並沒有打算讓大家都來學習我的Kit的Core,背熟我的API,這種跟風的學習方式一點意義都沒有,今天jQuery熱,大家都是學jQ,明天SeaJs火了,大家都去炒SeaJs,所以我在KitJs裡面,專門為jQ的使用者準備了一個文法糖(Suger.js),完全類比jQ的API,除了實現,介面都一樣,也方便大家直接拿來主義的改造Kit的組件。當然,作為一個純技術Fan來說,深入理解一門技術是如何?的,遠比拿來主義更有趣的多^_^。當然了,如果你出於KPI考慮,或者老闆的老闆的
Kitjs,(http://xueduany.github.com/KitJs),是我2011年底,離開淘寶UED之後,自己搞起的一套HTML5的前端widget庫,原本的用途主攻手機端HTML頁面互動組件使用,正如其字面意思Kit一樣,願景是做一個嬌小,實用,既可以直接拿來用,也可以很方便做2次開發的一套組件。後來由於項目的越做越大,組件數的膨脹,也加入PC端瀏覽器(IE6+,FF,chrome核心系列等等)的支援,不再僅限於原來手機開發領域,開始正式邁向全平台。所以近期也對原來的所有模組按照
kissy簡介
1、使用js檔案管理代碼所有代碼盡量放在js檔案中,然後再html檔案中使用script引入,引入時注意放在body標籤後面,並且不使用type或者language。2、書寫縮排使用4個空白欄框縮排,注意不要使用tab鍵進行縮排。3、斷句注意行長,每行不超過80個字元,超過時要進行適當斷句,斷句應該再操作符後面進行,最理想的是在逗號(,)後面進行斷句,斷句後下一行使用8格縮排。4、註解一般使用單行注釋,塊注釋一般用於文檔。5、變數聲明所有變數使用之前先聲明,未聲明的變數會自動作為全域變數。全文應
眾所周知,JavaScript是一門非常流行的程式設計語言,開發人員用它不僅可以開發出炫麗的Web程式,還可以用它來開發一些行動裝置
整理一下js物件導向中的封裝和繼承。1.封裝 js中封裝有很多種實現方式,這裡列出常用的幾種。1.1 原始模式產生對象 直接將我們的成員寫入對象中,用函數返回。 缺點:很難看出是一個模式出來的執行個體。代碼:複製代碼 代碼如下: function Stu(name, score) {
2. 完善地圖 我們的地圖中有空地,牆,鋼,草叢,水,總部等障礙物。 我們可以把這些全部設計為對象。2.1 建立障礙物對象群 對象群儲存各種地圖上的對象,我們通過對象的屬性來判斷對象是否可以被穿過或被攻擊。 Barrier.js: 複製代碼 代碼如下: // 障礙物基類對象,繼承自TankObject Barrier = function () {&
PS:這個坦克大戰是在網上下的一段源碼之後,自己進行的重寫。本身沒有太難的東西,這個案例將js物件導向用的比較好,可以作為js物件導向的入門教程。1. 建立基本對象,實現坦克簡單的移動1.1 如何在地圖中繪製畫布? 考慮到瀏覽器安全色的問題,我們用操作dom的方式來實現遊戲對象的繪製和重新整理。我們如何儲存我們的地圖呢? 我們應該把地圖用一個二維數組來儲存,