啥是閉包?
閉包就是把某個變數或者函式給包裝起來
我們js當中會接觸很多的全域性變數,那如何保證我們的區域性變數在執行完函式之後還存在在我們的記憶體當中呢?就可以使用閉包
閉包總的來說是實現了作用域,使得程式能夠設計出更合理的,有層次的js**
實現閉包的方式:
function f1()
//nadd
沒有使用
var,所有
nadd
是乙個全域性變數
function f2()
return f2;
} var result = f1();
//只要result不
消失,那麼
f1()
函式中的
n是可以通過
result
獲取的 result();
// 999
nadd();
result();
// 1000
啥是正則?字串的規則
我們可以用來校驗字串是否符合正則的規則,所以學習正則即學習如何描述字串的規則。
建立方式
var regex = new regexp(正則語法,"igm");
var reg = /^({})({})({})$/i-g-m
修飾符igm 即ignore忽略大小寫;global全域性匹配,否則只會匹配第乙個;multiline多行匹配
字串替換的語法:
str.replace(正規表示式,替換的內容) //替換會替換整個符合匹配規則的內容
貪婪模式:
表示式
匹配結果
(d)(\w+)
"\w+"
將匹配第乙個
"d"
之後的所有字元
"***d***d"
(d)(\w+)(d)
"\w+"
將匹配第乙個
"d"
和最後乙個
"d"
之間的所有字元
"***d***"。雖然
"\w+"
也能夠匹配上最後乙個
"d",但是為了使整個表示式匹配成功,
"\w+" 可以"
讓出"
它本來能夠匹配的最後乙個
"d"非貪婪模式:
表示式
匹配結果
(d)(\w+?)
"\w+?"
將盡可能少的匹配第乙個
"d"
之後的字元,
結果是:
"\w+?"
只匹配了乙個
"x"(d)(\w+?)(d)
為了讓整個表示式匹配成功,
"\w+?"
不得不匹配
"***"
才可以讓後邊的
"d"
匹配,從而使整個表示式匹配成功。因此,結果是:
"\w+?"
匹配"***"
非貪婪是盡可能少的匹配
貪婪是盡可能多的匹配
js知識點整理 五
建構函式和原型物件,以及例項之間的關係,建構函式和原型物件,建構函式有個屬性propertype指向原型物件 原型物件有個屬性constructor指向了建構函式 建構函式和原型函式都是唯一的 例項是不唯一的,例項的方法可以從建構函式裡面查詢,找不到就去原型裡面找。原型和構造方法都是唯一的,但是在例...
linux c c 知識點整理 三
過載即為函式過載,過載的特徵 1 相同的範圍,也就是在同乙個類中 2 函式名字相同 3 引數不同 4 virtual關鍵字無影響 覆蓋是指派生類函式覆蓋基類函式,覆蓋的特徵 1 不同的範圍,即函式分別位於派生類和基類 2 函式名字相同 3 引數相同 4 基類函式必須有virtual關鍵字 隱藏是指派...
知識點整理
一 標準庫容器和演算法 1.順序容器 與前面類似 2.關聯容器 map和multimap 元素包含key 鍵 和值 value 兩部分 按照鍵對元素排序 map不允許重複元素出現,但multimap可以 set和multliset 是包含已排序物件的關聯容器 只是單純的鍵的集合 set不允許重複鍵出...