js 函式高階

2022-07-06 16:48:10 字數 1276 閱讀 1930

所有例項物件都有乙個特別的屬性:

顯式原型與隱式原型的關係

原型鏈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是乙個函式型別 ...