白店小二的js知識 基礎

2021-10-23 22:26:47 字數 608 閱讀 2637

值型別(基本型別):字串(string)、數字(number)、布林(boolean)、對空(null)、未定義(undefined)、symbol。

引用資料型別:物件(object)、陣列(array)、函式(function)。

注:symbol 是 es6 引入了一種新的原始資料型別,表示獨一無二的值。

小知識

基本資料型別儲存在棧記憶體中,引用資料型別儲存在堆記憶體中。

null是基本資料型別,typeof出的卻是object,且null儲存在棧記憶體中。

3種定義方法:

var: 可多次定義,使用var定義的全域性變數屬於window,變數提公升(可以先使用後宣告),沒有塊級作用域的概念。

let: 定義一次,定義的是變數,使用let定義的全域性變數不屬於window,必須先宣告再使用,有塊級作用域的概念(塊級作用域就是{}),在塊級作用域內宣告的變數,只在作用域內有效。

const :定義一次,定義的是常量,有塊級作用域概念,一般情況下定義之後不能修改,在定義的常量為引用型別時,可以通過修改物件或陣列裡的值/元素,改變常量,但不能直接對物件或陣列重新賦值。

白店小二的面試總結 閉包

閉包是指有權訪問另乙個函式作用域中的變數的函式,並且在閉包內部形成乙個外部無法訪問的區域性作用域。建立閉包的常見方式是在乙個函式內部建立另乙個函式。通過另乙個函式訪問這個函式的區域性變數,利用閉包可以突破作用鏈域,將函式內部的變數和方法傳遞到外部。閉包是一種機制 函式要訪問乙個變數的時候,就會先從自...

白店小二手搓穿梭框

想當初我大四實習第一次面試的時候,機試題就是手寫出來穿梭框,不能用元件裡帶的,我當時在那傻坐了乙個多小時,也沒寫出來,尷尬!確實當時對於框架 元件都是能使用,但是不能問,問就是不會,更別說讓我寫個原生的了,理所當然的面試失敗,這也就成了我的乙個執念,我當時就想著我一定要自己把穿梭框給手搓出來,於是它...

白店小二手搓井字棋

井字棋難度在於判斷勝利條件,說起來容易三子連一線,就算獲勝,但是實施起來很困難。我這裡使用了乙個較為取巧的辦法 我將所有可能獲勝的方式歸總起來,存在乙個陣列裡,再把下棋雙方所下的每一步棋子都放置在乙個陣列中,然後對元素大於3的存棋陣列進行子陣列遍歷,取出其中長度為3的子陣列與獲勝陣列進行比較,若子陣...