原创 閉包(知識點)

1.什麼是閉包: 能夠讀取其他函數的內部變量的函數 2.閉包的作用域: 分爲全局變量 和 局部變量;(在函數內部一定要用var定義變量, 不然就是定義了一個全局的變量); 3.閉包的用途: 可以讀取函數內部的變量 函數的變量保

原创 元素的平方

1.用 map 方法返回 function square(arr) { return arr.map(function(e) { // 返回元素的平方 return e * e;

原创 作用域鏈3

1.函數內(函數內的函數除外,嵌套的函數訪問不到), 定義的變量在整個函數內部都有效 function test() { var t = 0; //在for的條件裏定義變量,這個變更的作用域鏈對象是這個函數 //因此在整個的函數

原创 刪除數組最後一項,不在原數組操作

1.定義一個新的數組接收原數組,刪除最後一個再返回 function truncate(arr) { var newArr = arr.slice(0); newArr.pop(); return newA

原创 判斷是否完全相等

1.用全等於號 function identity(val1, val2) { // ===代表是全等於 return val1 === val2 ? true : false } 2. function identity(

原创 查找元素的位置(下標)

1.用forEach循環,再判斷 function findAllOccurrences(arr, target) { // 定義一個空的數組 var temp = []; arr.forEach(function(val

原创 查找數組重複的元素

1.用sort 先排序,再判斷條件,添加到數組 function duplicates(arr) { // 定義一個a變量接收數組進行排序,變量b爲空的 var a=arr.sort(),b=[]; for(var i

原创 函數的聲明的提升

1.三目運算 function functions(flag) { // 利用三目運算,返回結果 function getValue() { return 'flag' ? 'a' : 'b'; } return

原创 閉包的使用

思路: 先定義一個空的數組,for循環遍歷數組,把數組裏面的元素push到空的數組中,因爲返回的是回調函數,i值需要傳遞進去,函數裏面返回一個函數,再返回函數的元素,最後把定義的數組返回出去; 1.閉包的使用(i值的傳遞) fun

原创 閉包(外面訪問函數的內部)

1.把函數f2返回出去,定義一個變量接收,在需要用到的地方調用 function f1() { // 沒有用var 就是代表全局變量 mm = 20; function f2(

原创 作用域鏈2

1.函數內部的變量取代全局同名變量 var t = "pp"; function test() { // 函數內部的變量取代全局同名變量 //執行t的時候,它會先找作用域鏈對象,由於它定義在函數內部, //所以這

原创 保留合法數字,其他的去掉

1.正則match方法 function parse2Int(num) { // 用正則match()查符合條件的元素 return parseInt(num.match(/^\d+/)[0]); } 2.用十進制解決 f

原创 修改this的指向

1.apply方法 function speak(fn, obj) { // 第一個參數就是改變this的指向,把相應的對象寫上 // 第二個參數是空的或者 obj return fn.apply(obj); } 2.ca

原创 作用域鏈

1.通過封閉空間傳遞i值,回調函數執行時,註冊事件結束了; js部分 function sss() { for(var i=1; i < 4; i++) { // 封閉空間自執行,傳遞i值到內部

原创 計時器

1.用setTimeout()方法 function count(start, end) { // 判斷前面的時間小於等於後面的時間 if(start <= end){ console.log(start)