原创 JavaScript 學習筆記 之 原生函數

原生函數是什麼 JavaScript的原生函數也叫內建函數 例如 String(),Number(),Boolean()等 原生函數可以被當做構造函數來使用 但通過構造函數(如new String("abc"))創建出來的是封裝了基本類型

原创 關於JavaScript中0.1+0.2=0.30000000000000004的問題

不只是JavaScript,所有遵循IEEE754規範的語言都會出現這麼一個問題 0.1+0.2=0.30000000000000004 簡單來說,出現這種問題的原因是二進制浮點數中的0.1和0.2並不十分精確 所以最常見的方法是設定一個

原创 JavaScript 學習筆記 之 類型

JavaScript中的類型 JavaScript中變量是沒有類型的,只有值纔有,變量可以隨時持有任何類型的值 JavaScript中的類型包括了6個基本類型(ES6中新增了一個symbol),和一個複雜類型(object) 空值(nul

原创 ES6-class類

先前我們花了很長的篇幅來說明一個事實 JavaScript中沒有類 並從很多方面進行了說明(比如類是通過賦值進行實例化,而JavaScript中的對象是通過原型鏈關聯到另一個對象從而進行委託) 而ES6推出的class關鍵字 實際上是一個

原创 JavaScript 學習筆記 之 原型 (二)

修改原型鏈 在關聯兩個對象的時候我們通常會使用Object.create(..)方法 這個方法接受兩個參數第一個參數是創建的對象的[[prototype]]屬性引用的對象,第二個參數是想要給新對象添加的屬性以及對應的屬性描述符 va

原创 JavaScript 學習筆記 之 原型 (一)

[[Prototype]]簡介 關於[[prototype]](__proto__)和prototype對象的不同 [[prototype]]是幾乎所有對象都有的一個屬性,存放的是一個對其他對象的引用,在部分瀏覽器(不是所有)中可以用._

原创 JavaScript 學習筆記 之 對象 (四) -遍歷和迭代

存在性 之前談到過的一個問題 如果對象中有一個屬性的值是undefined 那麼我無法簡單的通過對這個屬性訪問的返回值來判斷對象是否有這個屬性 那我們要用什麼辦法來判斷一個對象是否有一個屬性呢? 這裏有兩種辦法 var obj =

原创 JavaScript 學習筆記 之 對象 (一) - 聲明

對象有兩種定義方式 聲明(文字)形式 var obj = { key: value //.. }; 構造形式 var obj = new Object(); obj.key = value; //..

原创 JavaScript 學習筆記 之 THIS (二) - 綁定規則

  綁定規則 this的綁定規則有四種  默認綁定 (全局對象或者undefined(嚴格模式下)) 隱式綁定(調用時函數上下文對象,obj.fun()) 顯式綁定(call , apply , bind(硬綁定)) new綁定(新建的對

原创 Angular ng serve 失敗:報錯 getaddrinfo ENOTFOUND localhost 的解決方法

報錯: 解決方法: 修改hosts文件 添加     127.0.0.1       localhost     ::1             localhost 即可 MAC下修改hosts文件的方法 打開finder 輸入comm

原创 JavaScript 學習筆記 之 THIS (三) - 綁定規則優先級

上一章我們討論過this對象四種綁定規則,這次我們來討論下關於四種綁定規則之間的優先級順序 首先,默認綁定肯定是優先級最低的 那麼隱式和顯式之間誰的優先級更高呢? function fun() { console.log(th

原创 JavaScript 學習筆記 之 對象 (二) - 屬性描述符

複製對象 複製對象是平時比較常遇到的需求之一 可惜的是,這裏並沒有什麼一個內置的copy函數能夠簡單的完成這一步 事實上JavaScrip中複製一個對象比我們想象的要複雜的多 複製一個對象首先要決定複製方式是深複製還是淺複製   對於淺複

原创 Angular 學習筆記 (一) 項目結構基礎

項目結構 使用ng new了一個項目後我們得到了如下的項目 其中記住兩個我們目前需要的就可以了 一個是src目錄:這個是應用源代碼的目錄 一個是angular.json:這個是angular命令行工具的配置文件,引一些第三方的包(jQu

原创 JavaScript 學習筆記 之 THIS (一) - 簡介

關於this的誤解 首先,this並不是像它的英語意思一樣指向函數本身 來看個例子 function showThis(){ this.count++; console.log(this.count); } showThis.cou

原创 JavaScript 學習筆記 之 對象 (三) - [[Get]]和[[Put]]操作

[[Get]] 對對象屬性的訪問看起來似乎是一件很簡單的事 但事實上這裏有個複雜的[[Get]]操作在裏面(可以理解爲函數調用[[Get]]() ) 對象默認的內置[[Get]]操作首先是在對象中查找是否有名稱相同的屬性,有則返回這個屬性