原创 原型鏈圖解

上一篇講到了使用原型創建對象的兩種方式,現在來講一講原型鏈 原型鏈 理解部分 JS中的原型繼承方式必然會引出一條原型鏈來把繼承樹上所有的對象串聯起來。 JS中的每一個對象都有一個原型(Obeject對象的原型爲null) 同樣舉例說明

原创 Android Studio中模擬器中關於VT-x is disabled in BIOS錯誤的解決方案

首先給出我遇到這個問題時找到的解決答案:http://stackoverflow.com/questions/26355645/error-in-launching-avd-with-amd-processor 有時候在Androi

原创 JS中的原型詳解

每一個函數都有一個prototype屬性,指向這個函數的原型對象,默認情況下, 原型對象都會有一個constructor(構造函數)屬性指向這個函數。 如: function A(){ //.... }

原创 事件冒泡和事件捕獲

事件冒泡 其實事件冒泡的原理很簡單: 當一個節點觸發了一個事件,它會先執行它自身的事件處理程序(event handler),然後再執行其父節點上的事件處理程序(event handler),然後依次向上。。。直到document

原创 垂直居中佈局方案

1. table-cell + vertical-align HTML部分: <div class="parent"> <div class="son"></div> </div> -----------------------

原创 JS閉包-02

閉包的應用: 1.保存(變量)現場 ------------------------------------------------ var date = []; for(var i=0;i<5;i++){

原创 CSS實現元素居中-01

1.margin:0 auto; 這個辦法想必大家都清楚,這裏不再詳述.然而這個辦法只可以實現塊級元素水平居中,無法實現垂直居中. 2.子元素定寬高時,可以使用下面的絕對定位方法,實現水平垂直居中.(如下圖) 主要是通過絕對定位使子

原创 理解CSS內聯元素的框模型

這是原文地址 題外話:我覺得人們常說的盒子模型(box model),其實還不如翻譯成框模型,因爲line box 中的box和 box model中的box 應該是同一個意思吧,那line box總不能翻譯成行盒吧,乾脆都應該翻譯成

原创 sublime快捷鍵

Ctrl + P 查找快捷鍵,輸入文件名查找並打開相關文件 Ctrl + G 輸入行數定位到某一行 Ctrl + R 輸入字符查找字符(如函數名、CSS選擇器名) Ctrl + ; 輸入查找關鍵字 Ctrl + shift

原创 以原型構造新對象的兩種方式

是時候要總結一下JS中的原型了,在看過一些資料之後,對JS原型有了較深入系統的瞭解,在這裏寫下來一方面是總結加深理解,另一方面是供給初學者參考。文本主要涉及使用原型構造對象,下面一篇文章講原型鏈。 方法一:Object.create()

原创 CSS重置

爲了消除不同的瀏覽器默認樣式之間顯示的差異,需要進行CSS樣式重置 下面的設置都經過自己實驗驗證得到,而不是簡單的複製過來,只對幾個常用的樣式進行了重置,日後遇到的多了會再來補充。 body,h1,h2,h3,h4,h5,h6,p,ul,

原创 Primitive Types and Reference Types in Javascript

給出翻譯原文地址 不得不說,還是閱讀國外的技術文章收穫大,即使翻譯的再好,原著和翻譯版的之間的差距是不可消除的,就像水滸傳英文版的名字是水邊發生的故事一樣,WTF! 進入正題: 我們經常說變量是用來存儲值的,但是這個值是什麼值呢? 我們先

原创 重寫原型對象

重寫整個原型對象會產生一些問題: 沒有重寫原型對象時: function Person(name){ this.name = name; } Person.prototype.sayHi = function(){ al

原创 邏輯操作符

&& 只有A成立的條件下,纔會考慮B,A若不成立,就不會考慮B。這種情況下就使用 A && B expr1 && expr2 如果 expr1可以轉換成false,那麼就返回 expr1,否則返回 expr2 即如果

原创 圖解JS詞法環境(Lexical environment)

在ES5中使用lexical environment來管理靜態作用域,而不再是ES3中的AO/VO 詞法環境就是描述環境的對象,主要包含兩個部分: - 環境記錄(Environment Record) 記錄相應環境中的形參