一.閉包
函式的巢狀定義, 定義在內部的函式就稱之為 閉包
1.乙個函式要使用另乙個函式的區域性變數
2.閉包會持久化包裹自身的函式的區域性變數
3.解決迴圈繫結
function outer()
return inner;
}var innerfn = outer();
// 2.借助閉包,將區域性變數num的生命週期提公升了
var num = innerfn();
console.log(num);
二.變數提公升
1.在變數宣告之前 去使用變數 會得到 undefined ,而不是報錯.
2.函式內,如果宣告了跟全域性變數同名的區域性變數, 在宣告之前使用該變數,得到undefined( 該變數已經是區域性的啦)
三.js原型和原型鏈
1.原型
每個物件 都有原型 (原型仍然是乙個物件)
物件可以繼承原型的屬性和方法
__proto__
所有物件都有該屬性, 該屬性指向該物件的原型
2.原型鏈
原型作為物件 也有原型
原型的原型的原型 就構成了 原型鏈
使用物件中某個屬性的時候,先從物件中找,如果沒有,從原型上找,原型如果也沒有,繼續向上找,知道頂層 (頂層的原型物件是乙個 型別(類)(構造 函式)是object 的物件)
四.物件導向js
1.json方式定義物件
var obj =
};obj.name | obj.teach()
2.建構函式
function person(name)
}// ①通過建構函式例項化出具體物件
// ②通過物件.語法呼叫屬性與方法
var p1 = new person("張三");
p1.name // 張三, this指向p1物件
var p2 = new person("李四");
p2.teach // 李四正在教學, this指向p2物件
// 3.es6類語法
class student
// 類中規定普通方法
study ()
// 類方法
static fn()
}// 類中的普通方法由類的具體例項化物件來呼叫
// 類中的類方法由類直接來呼叫(這型別的方法大多是功能性方法,不需要物件的存在)
web前端問題總結 CSS,HTML
內邊距撐大盒子的問題 影響盒子寬度的因素 內邊距影響盒子的寬度 padding會撐大盒子的大小 邊框影響盒子的寬度 盒子的寬度 定義的寬度 邊框寬度 左右內邊距 繼承的盒子一般不會被撐大 包含 巢狀 的盒子,如果子盒子沒有定義寬度,給子盒子設定左右內邊距,一般不會撐大盒子。垂直方向外邊距合併 兩個盒...
WEB前端知識總結
1 css3中設定max width 為讓更好適應螢幕 2 position absolute 讓元素脫離,z index屬性可以改變堆疊順序 3 如何讓元素透明 background color transparent 4 設定透明度 opacity 0.5 5 後台頁面可以使用bootstrap...
Web前端初學總結
恢復內容開始 學習了一周的c 這一周學了不少東西,也寫了不少 感覺挺不錯的,總結一下學到的東西。最基礎的就是變數 資料 運算。這裡面包含了不少的 基礎規則,多用,多記就好了。然後是流程控制,這其中所包含的東西就不僅是需要記住就可以的,還得弄明白,想明白。裡面牽涉到邏輯問題,if判斷,switch選擇...