Time of Update: 2017-01-18
今天討論的新特性讓我非常興奮,因為這個特性是 ES6 中最神奇的特性。這裡的“神奇”意味著什麼呢?對於初學者來說,該特性與以往的 JS 完全不同,甚至有些晦澀難懂。從某種意義上說,它完全改變了這門語言的通常行為,這不是“神奇”是什麼呢。不僅如此,該特性還可以簡化程式碼,將複雜的“回調堆棧”改成直線執行的形式。我是不是鋪墊的太多了?下面開始深入介紹,你自己去判斷吧。簡介什麼是 Generator?看下面代碼:function* quips(name) { yield "hello " +
Time of Update: 2017-01-18
建立一個字串有幾種方法。最簡單的是用引號將一組字元包含起來,可以將其賦值給一個字串變數。 var myStr = "Hello, String!"; 可以用雙引號或單引號將字串包含,但要注意,作為界定字串的一對引號必須是相同的,不能混用。 像var myString = "Fluffy is a pretty cat.';
Time of Update: 2017-01-18
從開始接觸JS這東西有一年時間了,心頭總是有一些說不出來的苦悶。在論壇裡也常常有人這麼說。那麼苦在何處呢?總是感覺學的不深入,一些簡單的東西可以做但也是不能得心應手。能不能把這種苦再說的具體點兒呢?都說了是“說不出來的苦悶”怎麼具體呀?何為難言之隱?說不出來,不能具體,不能把問題落到實處就不能得到解決的辦法。這就是難言之隱!我認為這也就是初學者的“困境”。之所以要用“我認為”正好迎合了本文標題中的“心得”二字。如果能對大家有協助我非常高興。下面言歸正傳,我經過回想和思考總結出下面幾條初學者的“難
Time of Update: 2017-01-18
範例程式碼: result >>>= expression 其中參數是result任何變數。 expression是任何錶達式。 JavaScript中無符號右移賦值操作說明 使用 >>>= 運算子和使用下面的語句是等效的: result = result >>> expression >>>= 運算子把 result 的所有位向右移 expression 指定的位元。右移後左邊空出的位用零來填充。向右移出的位被丟棄。例如:
Time of Update: 2017-01-18
Symbol 是什嗎?Symbols 不是表徵圖,也不是指在代碼中可以使用小圖片:也不是指代其他一些東西的文法。那麼,Symbol 到究竟是什麼呢?七種資料類型JavaScript 在 1997 年被標準化時,就有 6 種資料類型,直到 ES6 出現之前,程式中的變數一定是以下 6 種資料類型之一: Undefined Null Boolean
Time of Update: 2017-01-18
1:javascript區分大小寫 2:javascript每一條語句必須以";"結束,與C語言一樣 3:輸出:document.write("字串")--->還可以輸出對應的html標記 4:改變表單的顏色document.bgColor="red"; 4:類型轉換:parseInt,parseFloat 5:隨機函數:parseInt(Math.random()*90+10) 產生10--100的隨機數 5:彈出對話方塊:alert("提示的內容") 5:if
Time of Update: 2017-01-18
我喜歡策略設計模式。我儘可能多的試著去使用它。究其本質,策略模式使用委託去解耦使用它們的演算法類。這樣做有幾個好處。他可以防止使用大條件陳述式來決定哪些演算法用於特定類型的對象。將關注點分離開來,因此降低了用戶端的複雜度,同時還可以促進子類化的組成。它提高了模組化和可測性。每一個演算法都可以單獨測試。每一個用戶端都可以類比演算法。任意的用戶端都能使用任何演算法。他們可以互調。就像樂高積木一樣。為了實現策略模式,通常有兩個參與者:該策略的對象,封裝了演算法。用戶端(上下文)對象,以隨插
Time of Update: 2017-01-18
這個方法返回其參數商數的反正切。該ATAN2方法返回-pi和PI 較(x,y)點的角度theta之間的數值。文法Math.atan2( x, y ) ;下面是參數的詳細資料: x 和 y : 一個數字.傳回值:返回一個數弧度的反正切值Math.atan2( ±0, -0 ) returns ±PI.Math.atan2( ±0, +0 ) returns ±0.Math.atan2( ±0, -x ) returns ±PI for x
Time of Update: 2017-01-18
前言和map類似,Array的filter也接收一個函數。但是和map不同的是, filter把傳入的函數依次作用於每個元素,然後根據傳回值是 true 還是false決定保留還是丟棄該元素。執行個體介紹例如,在一個Array中,刪掉偶數,只保留奇數,可以這麼寫:var arr = [1, 2, 4, 5, 6, 9, 10, 15];var r = arr.filter(function (x) { return x % 2 !== 0;});r; // [1, 5, 9,
Time of Update: 2017-01-18
什麼是模組化開發?前端開發中,起初只要在script標籤中嵌入幾十上百行代碼就能實現一些基本的互動效果,後來js得到重視,應用也廣泛起來了,jQuery,Ajax,Node.Js,MVC,MVVM等的助力也使得前端開發得到重視,也使得前端項目越來越複雜,然而,JavaScript卻沒有為組織代碼提供任何明顯協助,甚至沒有類的概念,更不用說模組(module)了,那麼什麼是模組呢?一個模組就是實現特定功能的檔案,有了模組,我們就可以更方便地使用別人的代碼,想要什麼功能,就載入什麼模組。模組開發需要
Time of Update: 2017-01-18
From:http://www.ajaxwing.com/index.php?id=2 一,背景 回顧一下程式設計語言的發展,不難發現這是一個不斷封裝的過程:從最開始的組合語言,到面向過程語言,然後到物件導向語言,再到具備物件導向特性的指令碼語言,一層一層封裝,一步一步減輕程式員的負擔,逐漸提高編寫程式的效率。這篇文章是關於 JavaScript 的,所以我們先來瞭解一下 JavaScript 是一種怎樣的語言。到目前為止,JavaScript
Time of Update: 2017-01-18
getElementByTagNames(注意是複數的names)會獲得一些tag的元素,然後按照他們的順序儲存在一個數組中。這非常的有用,比如在上一章的TOCScript中,就需要獲得整個文章裡面的所有的H3和H4。 我非常希望在node原型中加入這個功能,但是在IE和Safari裡面不行。所以只能把他當做一個普通函數。 使用 getElementByTagNames有兩個參數: 1、一個用逗號分隔的tag名稱字串。
Time of Update: 2017-01-18
Javascript 實現放大鏡效果今天做任務的時候,有一個任務就是讓實現電商網站常用的放大鏡效果,類似於這樣的放大鏡效果效果,之前並沒有做過這种放大鏡效果,剛開始的思路是對圖片進行裁剪,但是後來發現實在是難以實現,於是求助了萬能的Google,發現一個很好的思路就是,展示區是一小塊可視地區,給他一個圖片,超出可視地區的部分設為隱藏,有了這個思路,這個效果就能夠很好的實現了,先看一下HTML結構! <div id="pic_wrap"> <div id="float_box"
Time of Update: 2017-01-18
按照通用時間,javascript Date.getUTCHours()方法返回的時間在指定的日期。由getUTCHours返回的值是0和23之間的整數。文法Date.getUTCHours()下面是參數的詳細資料: NA傳回值:按照通用時間返回的時間在指定的日期。例子:下面的例子列印的目前時間變數hrs的時間部分。<html><head><title>JavaScript getUTCHours
Time of Update: 2017-01-18
介面:對實現某一種任務、功能,目的等,所規定的一些原則。程式中的介面:規定好有幾個方法,方法名是什麼。(因程式中要完成任務,都是通過函數或者說方法去實現的。)javascript中的介面:把執行個體出來的某"類型對象"、和執行個體出來的"介面對象",進行一個比較,符合規則,就可以說:這個對象實現了規定的介面;(介面類:通過這個類,來執行個體出不同的介面。即不同的介面執行個體,也就是不同的方法個數和方法名稱) (進行比較:其實質就是判斷子類型執行個體出來的對象,是否有介面對象中所儲存的方
Time of Update: 2017-01-18
分享下微信是如何定位的:本文主要講解如何利用微信定位,如何將定位到的經緯度轉換為百度地圖對應的經緯度,以及處理定位失敗、取消及錯誤時的預設做法。//擷取地理位置資訊start//封裝成一個函數 function getPosition() { //用ajax請求 $.ajax({ url: "/wechat/jssdk",//請求地址 type: 'post',//post請求 dataType: 'json', contentType: "application/x-www-
Time of Update: 2017-01-18
本文執行個體講述了JavaScript瀏覽器物件模型BOM。分享給大家供大家參考,具體如下:window對象位於BOM階層的最頂層。它包含了一些非常重要的子物件,包括location,navigator,document,screen,history。location對象包含當前頁面的URL資訊。有些資訊是唯讀,有些資訊是可以讀寫的比如href屬性。我們不僅可以通過href屬性來擷取當前頁面的URL資訊,還可以通過修改href屬性,來跳轉到新的頁面。<html> <body&
Time of Update: 2017-01-18
這幾天在做一個拖拽元素的附加功能,就是對齊到網格,實際上就是確定好元素的初始位置,然後拖拽元素時,每次移動固定的距離。讓元素都可以在網格內對齊。先上效果圖,然後在詳細說明一下細節問題做了一個gif圖,可以看到,每次元素的移動都是按照最小單位距離移動的。且每次元素都是對齊到網格的。先根據demo說明一下思路和細節,後面會給出demo代碼。1.
Time of Update: 2017-01-19
javascript date.getTimezoneOffset() 方法返回時區以分鐘為目前範圍的位移。時區位移量是差分鐘,格林尼治標準時間(GMT)是相對於您的本地時間。例如,如果時區是GMT+10,-600將被返回。夏令時防止從一個恒定的這個值。文法Date.getTimezoneOffset()下面是參數的詳細資料: NA傳回值:返回時區以分鐘為目前範圍的位移。例子:<html><head><title&
Time of Update: 2017-01-18
Javascript 引擎工作機制javascript從定義到執行,JS引擎在實現層做了很多初始化工作,因此在學習JS引擎工作機制之前,我們需要引入幾個相關的概念:執行環境棧、全域對象、執行環境、變數對象、使用中的物件、範圍和範圍鏈等,這些概念正是JS引擎工作的核心組件。這篇文章的目的不是孤立的為你講解每一個概念,而是通過一個簡單的demo來展開分析,全域講解JS引擎從定義到執行的每一個細節,以及這些概念在其中所扮演的角色。var x = 1; //定義一個全域變數 xfunction A(y)