原创 最詳細的JavaScript高級教程(十九)函數表達式和閉包

這一章我們介紹函數表達式,在開始的時候我們會複習到很多之前學過的知識。 定義 我們之前學過函數提升相關的知識,定義的函數會提升,定義的函數作爲變量則不會提升,我們還舉例說過下面的代碼才能達到效果 var condition = f

原创 最詳細的JavaScript高級教程(十七)原型鏈

概述 首先說明,學習原型鏈的知識是爲了更好的理解原型和原型對象,在實際應用中很少單獨使用下面介紹的原型鏈,具體的原因是下面提到的它的缺點。 我們複習一下之前的知識: 構造函數的prototype指向了原型對象 原型對象中cons

原创 最詳細的JavaScript高級教程(十六)創建對象

創建一個對象再給這個對象賦值的操作需要大量的代碼,如果要創建多個對象,就要寫很多重複代碼,對象的創建可以使用下面這些方法來避免寫大量的不好維護的重複代碼。 工廠模式 優點:創建一個對象的大量實例 缺點:無法進行對象識別,即使用工

原创 最詳細的JavaScript高級教程(十二)函數

函數也是對象,也是引用類型。 定義 兩種定義方法都是等價的 function sum(arg1, arg2){ return arg1 + arg2; } var sum2 = function(arg1, arg2){

原创 最詳細的JavaScript高級教程(九)Array

Array類型是js中常用的引用類型。js中的Array最大的特點就是:數組可以容納多種類型的元素,數組在定義的時候不用指明元素類型,一個數組中可以混雜多種數據類型。 創建數組 // 使用Array對象初始化 // 需要預先知道元

原创 最詳細的JavaScript高級教程(十)日期和時間 Date對象

概念 js中使用utc時間保存日期和時間,即1970年1月1日零點開始經過的毫秒數保存時間。Date類型是引用類型。 定義 注意新定義一個時間如果什麼都不傳,默認值是創建的時候的當前時間 var now = new Date();

原创 最詳細的JavaScript高級教程(十一)正則表達式

正則表達式 概念 本節講正則表達式在js中的使用,注意正則對象是一個引用類型。 初始化:字面量和對象使用 與對象的定義一樣,我們可以使用字面量定義正則表達式,也可以使用正則對象來定義正則表達式,他們的區別是使用的轉義有一定差別。

原创 最詳細的JavaScript高級教程(三)script標籤

引子 稍微學習過一點網頁編寫的同學都知道,網頁中的js代碼應該寫在 script 標籤中,但是爲什麼要這麼做呢?本文就介紹一下script標籤。 script 標籤 最初,網景公司想要在瀏覽器中展示使用js的html文件,但是又不

原创 最詳細的JavaScript高級教程(六)操作符

寫在前面 我曾經輔導過很多人編程,其中有學霸也有學渣,而編程這個事情,學霸經常會陷入一個 誤區:所有的語法都要記住,所有的特性都要瞭如指掌纔算精通。而我們所面對的筆試甚至一些面試也加深了這種印象,事實真的如此麼? 對於枯燥的語法知

原创 最詳細的JavaScript高級教程(二)JavaScript和ECMAScript

JS和ES 每一個學習JS的同學都聽說過ES5,ES6,但是,是否所有的同學都清除的知道他們之間的關係呢?我們通常認爲這兩個是一個東西,事實上他們的關係如下: 從上面的圖中我們清除的看到,他們不是並列關係,而是包含關係,那麼下面

原创 最詳細的JavaScript高級教程(一)簡介

目標 要想全面的理解和掌握JS,關鍵在於弄清楚它的本質,歷史,和侷限性。 適用人羣 會使用JS編程但是學習不繫統的同學 有其他編程語言實踐經驗,想要了解JS的同學 想要爲nodejs等打堅實基礎的同學 版本號 通常我們說瀏覽器

原创 最詳細的JavaScript高級教程(五)數據類型

ES5只有五種基本數據類型和一種複雜數據類型。 五種基本數據類型是: Undefined Null Boolean Number String 一種複雜類型是: Object Object本質上就是一個哈希表,有鍵值對構成

原创 最詳細的JavaScript高級教程(八)值類型和引用類型

值類型和引用類型 在js中,除了Object,其他五種基本類型都是值類型,包括String也是值類型。 注意: 允許給引用類型動態的添加屬性值,不允許給值類型添加屬性值。// 基本類型,不能添加屬性,會報錯 var test =

原创 最詳細的JavaScript高級教程(七)表達式

if語句 推薦if語句中的表達式不管是不是單行都用大括號括起來以簡化閱讀。 循環語句 JS中支持 do while語句 和 while語句,這兩種的用法與其他語言相似,這裏就不多贅述了,我們看一看for的一些特殊的例子,一看便明白

原创 最詳細的JavaScript高級教程(四)語法和變量

特點 js大量借鑑了C,java,Perl的語法,十分的寬鬆 js是區分大小寫的 變量,函數名 首字符必須是字母,下劃線或者$ 推薦使用駝峯命名 註釋 使用c格式的註釋 // 這是一個註釋 /* * 這是一個多行註釋 *