Time of Update: 2017-01-19
如何捕獲和分析 JavaScript Error 前端工程師都知道 JavaScript 有基本的異常處理能力。我們可以 throw new Error(),瀏覽器也會在我們調用 API 出錯時拋出異常。但估計絕大多數前端工程師都沒考慮過收集這些異常資訊。反正只要 JavaScript 出錯後重新整理不複現,那使用者就可以通過重新整理解決問題,瀏覽器不會崩潰,當沒有發生過好了。這種假設在 Single Page App 流行之前還是成立的。現在的 Single Page App
Time of Update: 2017-01-19
大家在使用Javascript的時候經常被this這個傢伙搞得暈頭轉向的。對大多數有OOP開發經驗的開發人員來說this是當前範圍中引用普通元素的標識符,但是在Javascript中它卻顯得古靈精怪的,因為它不是固定不變的,而是隨著它的執行環境的改變而改變。在Javascript中this總是指向調用它所在方法的對象。舉一個簡單的例子:複製代碼 代碼如下:function test(){alert(this);}var obj=function(){var
Time of Update: 2017-01-19
js遍曆頁面控制項,複製代碼 代碼如下: var inputArr = document.forms[0]; for( var i = 0; i < inputArr.length; i++ ) { if( inputArr[i].type.toUpperCase() == "BUTTON" ) {
Time of Update: 2017-01-19
將javascript代碼添加到用戶端的方法是把它放置在偽協議說明符javascript:後的URL中。這個特殊的協議型別宣告了URL的主體是任意的javascript代碼,它由javascript的解譯器運行。如果javascript:URL中的javascript代碼含有多個語句,必須使用分號將這些語句分隔開。這樣的URL如下所示:javascript:var now = new Date(); "<h1>The time is:</h1>" +
Time of Update: 2017-01-19
本文執行個體講述了javascript匿名函數的用法。分享給大家供大家參考。具體分析如下:摘要:本文講解的是javascript最基礎也是最重要的東西--函數,之所以寫這篇文章,是因為面試的時候問到了,也算是溫故而知新了。先上個例子,如果你看懂了,說明你已經理解了本文要講的。複製代碼 代碼如下:var f = (function() { function f() {return 10;} return f(); &
Time of Update: 2017-01-19
在JavaScript的實值型別轉換中,最常發生的就是string與number這兩種類型值之間的相互轉換。可以通過調用number值的4個函數(事實上,是JS將number值自動轉化為Number對象後,Number類的4個函數)來將其轉換成string:1.toString()。2.toFixed()。3.toExponential()。4.toPrecision()。toString()可以在number值上調用toString()方法來將其轉換成字串。toString()函數接受一個2到
Time of Update: 2017-01-19
有時我們跳轉到一個頁面處理完任務,然後又回到原來的頁面,這個在很多的下載網站可以看到,這樣做也是為了留住使用者。 這個用javascript的定時函數很容易實現。 window.setTimeout( code,time) // code 執行的代碼 time 設定的時間 複製代碼 代碼如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Time of Update: 2017-01-19
做個筆記複製代碼 代碼如下:// 禁用右鍵菜單、複製、選擇$(document).bind("contextmenu copy selectstart", function() { return false;});// 禁用Ctrl+C和Ctrl+V(所有瀏覽器均支援)$(document).keydown(function(e) { if(e.ctrlKey && (e.keyCode == 65 ||
Time of Update: 2017-01-19
抽象原廠模式說明1. Factory 方法模式的問題: 在Factory 方法模式裡,建立類都需要通過 工廠類,如果要擴充程式,就必須修改工廠類,這違背了閉包原則,對擴充開放,對修改關閉;對於設計有一定的問題。 2. 如何解決:就要用到抽象原廠模式,就是對功能類單獨建立工廠類,這樣就不必修改之前的代碼,又擴充了功能。 3. 原廠模式其實就是對 實現同一介面的 實作類別 的 統一 工廠方式建立調用,但 javascript 沒有介面這號東西,所以就去掉這一層
Time of Update: 2017-01-19
複製代碼 代碼如下://speed 捲動速度 time 時間間隔function gotoTop(speed,time){ speed = speed || 0.1; time = time || 16; // 捲軸到頁面頂部的水平距離 var x = document.body.scrollLeft; //
Time of Update: 2017-01-19
Javascript在互連網上名聲很臭,但你又很難再找到一個像它這樣如此動態、如此被廣泛使用、如此根植於我們的生活中的另外一種語言。它的低學習門檻讓很多人都稱它為學前指令碼語言,它另外一個讓人嘲笑的東西是動態語言的概念是偏偏使用了高標準的待用資料類型。其實,你和Javascript都站錯了立場,而現在,你讓Javascript很生氣。這裡有五個原因能說明你的Javascript技術很爛。1.
Time of Update: 2017-01-19
複製代碼 代碼如下: /** * 返回一個隨機的小寫字母 */ function getLowerCharacter(){ return getCharacter("lower");; } /** * 返回一個隨機的大寫字母 */ function getUpperCharacter(){ return getCharacter("upper");; } /** * 返回一個字母 */ function getCharacter(flag){ var character = "";
Time of Update: 2017-01-19
在JavaScript中,可以使用eval()函數來解析字串中的JavaScript代碼,並返回相應的代碼執行結果:複製代碼 代碼如下:console.log(eval("42 * 2"));//84就本質而言,eval()是JavaScript全域對象的一個函數。比如,上述代碼等價於:複製代碼 代碼如下:console.log(this.eval("42 *
Time of Update: 2017-01-19
eval(String) 函數可計算某個字串,並執行其中的的 JavaScript 代碼。傳回值通過計算 string 得到的值(如果有的話)。說明該方法只接受原始字串作為參數,如果 string 參數不是原始字串,那麼該方法將不作任何改變地返回。因此請不要為 eval() 函數傳遞 String 對象來作為參數。如果試圖覆蓋 eval 屬性或把 eval() 方法賦予另一個屬性,並通過該屬性調用它,則 ECMAScript 實現允許拋出一個 EvalError
Time of Update: 2017-01-19
自己用的載入js檔案,支援多檔案,不相容ie複製代碼 代碼如下:/** * 載入js檔案 * @param {string || array} url js路徑 * @param {Function} fn 載入完成後回調 * @return
Time of Update: 2017-01-19
功能描述:開啟一個網站的網頁,過5分鐘不動作,就會鎖定頁面,隱藏內容容器,顯示一個容器用於輸入密碼,輸入正確的密碼來解鎖。鎖定後即使使用者重新整理頁面,還是保留原來的狀態。如已經鎖定的,需要繼續鎖定,否則顯示內容。 範例程式碼如下,通過document.onmouseover來實現多少分鐘沒有動作,使用計時器來實現。<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Time of Update: 2017-01-19
Getter是一種擷取一個屬性的值的方法,Setter是一種設定一個屬性的值的方法。可以為任何預定義的核心對象或使用者自訂對象定義getter和setter方法,從而為現有的對象添加新的屬性。有兩種方法來定義Getter或Setter方法:1.在對象初始化時定義2.在對象定義後通過Object的__defineGetter__、__defineSetter__方法來追加定義在使用對象初始化過程來定義Getter和Setter方法時唯一要做的事情就是在getter方法前面加上“get”,在sett
Time of Update: 2017-01-19
JavaScript中,可以通過點號操作符”.”或者中括弧操作符”[]“來對對象的property進行讀取和寫入:複製代碼 代碼如下:var o = {x:1, y:2};console.log(o.x);//1console.log(o["y"]);//2o.y = 7;console.log(o["y"]);//7值得注意的是,如果使用中括弧操作符,則操作符內的實值型別必須是string,或者能夠轉換成string的運算式:複製代碼
Time of Update: 2017-01-19
昨晚德國和葡萄牙的焦點之戰你看了嗎?北京時間淩晨的比賽中,C羅領銜的葡萄牙0-4德國被完滅……他是金球獎得主、歐洲金靴、歐冠冠軍核心,在葡萄牙隊……9張圖 C羅告訴你什麼叫欲哭無淚 複製代碼 代碼如下: <span style="font-size:14px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Time of Update: 2017-01-19
本文介紹原生javascript實現元素拖動。思路:1.首先改變被拖動元素的布局屬性,關鍵是“position:absolue”;2.捕捉滑鼠事件"mousedown","mousemove","mouseup";3.當觸發"mousedown"時,記錄下當前滑鼠在元素中的相對位置,_x,_y;4.緊接著處理"mousemove"事件,通過改變元素的top和left屬性來移動元素;5.當觸發"mouseup"時間時,終止拖動。同時,應考慮代碼的封裝性和瀏覽器的相容性,代碼如下:<!DOCT