day9
1、 js的編譯和執行
js是一門解釋性語言,會預先編譯,再執行。(先通讀全文,再解釋含義)
編譯時,會有提公升
變數和函式會提公升
變數var的提公升
會提前宣告,=號的位置賦值
console.log(a); //undefined
var a = 10;
console.log(a); //10
↑↑↑↑等價於↓↓↓↓
var a;
console.log(a);
a = 10;
console.log(a);
function 函式的提公升
整體提公升
即提前宣告,又提前賦值
如果var遇到function
var fn = function(){};
提公升的是定義的變數fn,不是function函式
變數和函式重名
var a = 「hello」;
function a(){}
var的優先順序更高,變數a會預先占用記憶體,函式和變數同時提公升,賦值hello在後面,由於此時函式名和變數名重複,所以生效的是function。
2、 函式的高階應用 - 遞迴
遞迴就是函式在其內部執行自己
遞迴類似於迴圈
遞迴函式要注意停止/返回,否則會造成死遞迴
遞迴比較消耗效能,盡量少用
演算法核心:
在有限次可預見性結果中,找到結果與上一次結果之間的關係。
f(n)與f(n-1)的關係有時候很簡單,如同走樓梯,狀態單一;又有時如同細胞**,多種狀態組合影響結果。
關鍵在於梳理清楚本次結果和上一次結果的關係有哪些方面或是因素。
在草稿紙上寫出前幾次的結果,或者畫圖,這樣更容易找到規律,這種規律實際上就是遞迴方程。
在演算法的分析中,當乙個演算法中包含遞迴呼叫時,其事件複雜度的分析會轉化成為乙個遞迴方程的求解。
3、 物件
js建立物件陣列 JS 物件
定義 無序的資料集合 鍵值對集合 建立物件的方式 new 操作符 object 建立物件 var person new object person.name lisi person.age 21 person.family lida lier wangwu person.say function 2...
JS 陣列 物件
一 基礎知識 參考部落格 js array陣列物件操作方法彙總 物件 具有屬性和方法,由k,v對組成 例如 var data 取物件的形式 1,data.username 2,data username username 已知 陣列 例如 var arr 1,2,3,4,5 字串 例如 var st...
js物件陣列
一 內建物件 1 物件 2 array 陣列 建立特點 屬性和方法 二維陣列 3 string 物件 建立特點 屬性方法 math 物件 定義 屬性方法 5 日期物件 建立日期物件 日期物件方法 一 內建物件 1 物件 物件是由屬性和方法組成的,使用點語法訪問 2 array 陣列 建立特點 陣列用...