1. 程式人生 > >01 前端基礎知識總結

01 前端基礎知識總結

一、基礎知識: 原型、原型鏈;作用域、閉包;非同步、單執行緒 JS API:DOM操作;Ajax;事件繫結 開發環境:版本管理;模組化;打包工具 執行環境:頁面渲染;效能優化 1、原型:JS中的物件都包含了一個prototype的內部屬性,這個屬性所對應的就是該物件的原型。

原型鏈:原型鏈是是有一些用來繼承和共享屬性的物件組成的物件鏈。並且原型鏈的長度是有限的。

建構函式:原型物件包含一個constructor屬性,對應建立所有指向該原型的例項的建構函式。

接下來說一下 prototype 和 proto

所有物件都有_proto_屬性指向該物件的原型。

所有函式物件除了有_proto_屬性之外還有prototype屬性。因為函式也是物件,所以有_proto_,但同時函式這一物件型別比較特殊,所以還有prototype。

二、變數: 變數型別分為值型別和引用型別 值型別:number;string;boolean;null;undefined 引用型別:物件、陣列、函式

三、typeof: typeof可檢測出六種型別:undefined、string、number、boolean、object、function null的型別為object; typeof只能區分值型別的詳細型別,不能區分值型別 引用型別只能區分出函式

四、強制型別轉換共四種情況:字串拼接、==運算子、if語句、邏輯運算子

字串拼接 var a = 100 + 10; //110 var b = 100 + ‘10’; //1001012 將數字轉換為字串 運算子 console.log(100

"100"); //true,字串轉為數字 console.log(0==""); //true,字串轉為數字 console.log(nullundefined); //true123 轉化規則: 物件物件,永遠不相等 物件字串,先將物件轉換為字串(呼叫toString的方法,然後再進行比較) 物件布林型別,物件先轉換為字串(toString),然後再轉化為數字(Number),布林型別也轉換為數字(true是1,false是0),最後讓兩個數字比較。”“是0。 物件數字,物件先轉化為字串(toString),然後把字串再轉為數字(Number ) 數字布林,布林轉化為數字 數字字串,字串轉化為數字 字串布林,都轉化為數字 null==undefined,結果是true null或者undefined和其他任何的資料型別比較都不相等