所有例項物件都有乙個特別的屬性:
顯式原型與隱式原型的關係
原型鏈object.prototype === function.prototype._proto_
理解分類:
生命週期
包含哪些屬性:
函式執行上下文建立和初始化的過程
函式:
/*測試題1: */
function a() {}
var a;
console.log(typeof a)
/*測試題2: */
if (!(b in window))
console.log(b)
/*測試題3: */
var c = 1
function c(c)
c(2)
分類:作用
區別作用域與執行上下文
// 測試題1
var x = 10;
function fn()
function show(f)
show(fn);
// 測試題2
var fn = function ()
fn()
var obj =
}obj.fn2()
寫乙個閉包程式
function fn1()
return fn2;
}var f = fn1();
f();
f();
問題:函式執行完後, 函式內部宣告的區域性變數是否還存在?
一般是不存在, 存在於閉中的變數才可能存在
在函式外部能直接訪問函式內部的區域性變數嗎?
不能, 但我們可以通過閉包讓外部操作它
閉包應用:
缺點:
function fun(n,o)
};}var a = fun(0); a.fun(1); a.fun(2); a.fun(3);//undefined,?,?,?
var b = fun(0).fun(1).fun(2).fun(3);//undefined,?,?,?
var c = fun(0).fun(1); c.fun(2); c.fun(3);//undefined,?,?,?
記憶體溢位
記憶體洩露
js函式高階
fn fn.call 普通函式呼叫 則函式中this window obj.sayhello 物件呼叫 函式中this 該物件 new student 構造函式呼叫 this 例項物件 btn.onclick fun 通過事件觸發 this指的是繫結事件物件 setinterval function...
js高階函式
filter用於對陣列進行過濾。它建立乙個新陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。注意 filter 不會對空陣列進行檢測 不會改變原始陣列 其中,函式 function 為必須,陣列中的每個元素都會執行這個函式。且如果返回值為 true,則該元素被保留 函式的第乙個引數 cu...
前端 js高階函式
在這裡所謂高階函式,只是對函式方法進行組裝和高階。1 sort 對陣列進行排序 document.write 1,2,5,4 sort 這是最簡單不過的陣列排序語句了。實際上 array.prototype.sort 還能夠支援乙個可選的引數 比較函式 其形式如 sort fn fn是乙個函式型別 ...