javascript
【深入理解JS核心技术】12. 什么是一阶函数
一階函數(shù)是一個(gè)不接受另一個(gè)函數(shù)作為參數(shù)并且不返回函數(shù)作為其返回值的函數(shù)。
const firstOrder = () => console.log("I am a first order function!"); 復(fù)制代碼函數(shù)名
函數(shù)名就是指向函數(shù)的指針,一個(gè)函數(shù)可以有多個(gè)名稱(chēng)。
function sum(num1, num2) { return num1 + num2; } console.log(sum(10, 10)); // 20 let anotherSum = sum; console.log(anotherSum(10, 10)); // 20 sum = null; console.log(anotherSum(10, 10)); // 20 復(fù)制代碼ECMAScript6的所有函數(shù)對(duì)象都會(huì)暴露一個(gè)只讀的name屬性,其中包含關(guān)于函數(shù)的信息。多數(shù)情況下,這個(gè)屬性中保存的就是一個(gè)函數(shù)標(biāo)識(shí)符,或者說(shuō)是一個(gè)字符串化的變量名。即使函數(shù)沒(méi)有名稱(chēng),也會(huì)如實(shí)顯示成空字符串。如果它是使用Function構(gòu)造函數(shù)創(chuàng)建的,則會(huì)標(biāo)識(shí)成“anonymous".
function foo() {} let bar = function() {}; let baz = () => {}; console.log(foo.name); // foo console.log(bar.name); // bar console.log(baz.name); // baz console.log((() => {}).name); //(空字符串) console.log((new Function()).name); // anonymous 復(fù)制代碼如果函數(shù)是一個(gè)獲取函數(shù),設(shè)置函數(shù),或者使用bind()實(shí)例化,那么標(biāo)識(shí)符前面會(huì)加上一個(gè)前綴。
function foo() { } console.log(foo.bind(null).name); // bound foo 復(fù)制代碼let dog = {years: 1,get age() {return this.years;},set age(newAge) {this.years = newAge;} } let propertyDescriptor = Object.getOwnPropertyDescriptor(dog, 'age'); console.log(propertyDescriptor.get.name); // get age console.log(propertyDescriptor.set.name); // set age 復(fù)制代碼console.log(Object.getOwnPropertyDescriptor(dog, 'years'))VM2829:1 {value: 1, writable: true, enumerable: true, configurable: true} configurable: true enumerable: true value: 1 writable: true 復(fù)制代碼未完結(jié)!更多內(nèi)容盡情期待下一節(jié)~
【深入理解JS核心技術(shù)】歡迎各位觀眾老爺,求點(diǎn)贊,求關(guān)注,求轉(zhuǎn)發(fā)~
低調(diào)務(wù)實(shí)優(yōu)秀中國(guó)好青年 (簡(jiǎn)介) && 附加答案
中文 | English
一個(gè) ?? 正經(jīng)的前端學(xué)習(xí) 開(kāi)源 倉(cāng)庫(kù),養(yǎng)成一個(gè)好習(xí)慣,遇見(jiàn)更好的 自己。一個(gè)人可能走得更快,但一群人會(huì)走得更遠(yuǎn)。(非常口語(yǔ)化的,手寫(xiě)總結(jié))
歡迎大家前來(lái)討論,如果覺(jué)得對(duì)你的學(xué)習(xí)有一定的幫助,歡迎點(diǎn)個(gè)Star (此倉(cāng)庫(kù)每天都會(huì)準(zhǔn)時(shí)更新)
👤:我是哪吒:如果你所學(xué)的東西 處于喜歡 才會(huì)有強(qiáng)大的動(dòng)力支撐。
地址 ??
github.com/webVueBlog/…
🐤 交流討論 && 如何學(xué)習(xí) && 轉(zhuǎn)載聲明 && 幫忙修正以及補(bǔ)充
第一:你可以直接在本倉(cāng)庫(kù)閱讀即可,階段性學(xué)習(xí)。(可以轉(zhuǎn)載里面的所有知識(shí)點(diǎn)用到任何地方,但請(qǐng)?zhí)砑觽}(cāng)庫(kù)的地址)有問(wèn)題歡迎提交issues
? 階段三十四(698)
展開(kāi)查看691.code1
692.code2
693.code3
694.code4
695.code5
696.code6
697.code7
698.code8
🌙 階段三十三(690)
展開(kāi)查看669.code21
670.code22
671.code23
672.code24
673.code25
674.code26
675.code27
676.this1
677.this2
678.this3
679.this4
680.this5
681.this6
682.this7
683.this8
684.this9
685.this10
686.this11
687.this12
688.this13
689.this14
690.this15
👇 階段三十二(668)
展開(kāi)查看649.code1
650.code2
651.code3
652.code4
653.code5
654.code6
655.code7
656.code8
657.code9
658.code10
659.code11
660.code12
661.code13
662.code14
663.code15
664.code16
665.code17
666.code18
667.code19
668.code20
🐂 階段三十一(648)
展開(kāi)查看624.220.存在重復(fù)元素III
625.compare_react_life
626.creat_react_app
627.higher_order_fn
628.jsonp
629.Object.defineProperty
630.react_component
631.react_createRef
632.react_domdiffing
633.react_eventhandler
634.react_life_cycle
635.react_lift_process
636.Route
637.setTimeoutTosetInterval
638.react
639.code1
640.code2
641.code3
642.code4
643.code5
644.code6
645.code7
646.code8
647.code9
648.code10
🐂 階段三十(623)
展開(kāi)查看599.前K個(gè)高頻單詞
600._reverse
601.dateFormat
602.formatNumber
603.repeat
604.Text類(lèi)型
605.add
606.argumentsNum
607.asynclight
608.callbacklight
609.code1
610.EventCenter
611.expansion-operator
612.extendPrototype
613.fetch-async-await
614.findMostWord
615.likeToArr
616.objectToTree
617.promiseImg
618.promiselight
619.reduce
620.react_min_setState
621.react_setState
622.react-props
623.react-props-test
🤨 階段二十九(598)
展開(kāi)查看566.DOM-Element類(lèi)型
567.42. 接雨水
568.合并區(qū)間
569.字符串相加
570.最長(zhǎng)遞增子序列
571.最長(zhǎng)連續(xù)遞增序列
572.字符串相乘
573.全排列II
574._filter
575._flat
576._map
577._push
578.ajax
579.apply
580.bind
581.call
582.copy
583.curry
584.dateFormat
585.debounce
586.deepcopy
587.flatten
588.getType
589.instanceof
590.new
591.Object.create.js
592.promise-ajax
593.Promise.all
594.promise.js
595.Promise.race
596.Promise.then
597.setArr
598.throttle
😛 階段二十八(565)
展開(kāi)查看556.859. 親密字符串
557.860. 檸檬水找零
558.969. 煎餅排序
559.621. 任務(wù)調(diào)度器
560.面試題 03.04. 化棧為隊(duì)
561.682. 棒球比賽
562.844 比較含退格的字符串
563.946. 驗(yàn)證棧序列
564.20 有效的括號(hào)
565.1021. 刪除最外層的括號(hào)
😛 階段二十七(555)
展開(kāi)查看545.92. 反轉(zhuǎn)鏈表 II
546.206. 反轉(zhuǎn)鏈表
547.202. 快樂(lè)數(shù)
548.142. 環(huán)形鏈表 II
549.141. 環(huán)形鏈表
550.Node類(lèi)型-節(jié)點(diǎn)關(guān)系
551.25. K 個(gè)一組翻轉(zhuǎn)鏈表
552.61. 旋轉(zhuǎn)鏈表
553.24 兩兩交換鏈表中的節(jié)點(diǎn)
554.933. 最近的請(qǐng)求次數(shù)
555.面試題 17.09. 第 k 個(gè)數(shù)
😛 階段二十六(544)
展開(kāi)查看533.23. 合并K個(gè)升序鏈表
534.224. 基本計(jì)算器
535.122. 買(mǎi)賣(mài)股票的最佳時(shí)機(jī) II
536.309. 最佳買(mǎi)賣(mài)股票時(shí)機(jī)含冷凍期
537.123. 買(mǎi)賣(mài)股票的最佳時(shí)機(jī) III
538.188. 買(mǎi)賣(mài)股票的最佳時(shí)機(jī) IV
539.714. 買(mǎi)賣(mài)股票的最佳時(shí)機(jī)含手續(xù)費(fèi)
540.2226. 每個(gè)小孩最多能分到多少糖果
541.139. 單詞拆分
542.suspense-and-lazy
543.日志功能
544.token
😛 階段二十五(532)
展開(kāi)查看526.2135. 統(tǒng)計(jì)追加字母可以獲得的單詞數(shù)
527.1312. 讓字符串成為回文串的最少插入次數(shù)
528.面試題 08.09. 括號(hào)
529.3. 無(wú)重復(fù)字符的最長(zhǎng)子串
530.316. 去除重復(fù)字母
531.節(jié)點(diǎn)層級(jí)
532.Node 類(lèi)型
😛 階段二十四(525)
展開(kāi)查看515.劍指 Offer 38. 字符串的排列
516.劍指 Offer 46. 把數(shù)字翻譯成字符串
517.劍指 Offer 47. 禮物的最大價(jià)值
518.劍指 Offer 59 - I. 滑動(dòng)窗口的最大值
519.leetcode 35. 搜索插入位置
520.DOM
521.劍指 Offer 53 - I. 在排序數(shù)組中查找數(shù)字 I
522.劍指 Offer 60. n個(gè)骰子的點(diǎn)數(shù)
523.26. 刪除有序數(shù)組中的重復(fù)項(xiàng)
523.122. 買(mǎi)賣(mài)股票的最佳時(shí)機(jī) II
524.axios.all和axios.spread
525.關(guān)于Axios篇
😛 階段二十三(514)
展開(kāi)查看501.劍指 Offer 07. 重建二叉樹(shù)
502.劍指 Offer 10- I. 斐波那契數(shù)列
503.劍指 Offer 12. 矩陣中的路徑
504.劍指 Offer 13. 機(jī)器人的運(yùn)動(dòng)范圍
505.劍指 Offer 14- I. 剪繩子
506.劍指 Offer 14- II. 剪繩子 II
507.劍指 Offer 16. 數(shù)值的整數(shù)次方
508.劍指 Offer 24. 反轉(zhuǎn)鏈表
509.劍指 Offer 26. 樹(shù)的子結(jié)構(gòu)
510.劍指 Offer 32 - I. 從上到下打印二叉樹(shù)
511.生成器基礎(chǔ)
512.通過(guò) yield 中斷執(zhí)行
513.生成器作為默認(rèn)迭代器
514.提前終止生成器
📕 階段二十二(500)
展開(kāi)查看481.46. 全排列
482.15. 三數(shù)之和
483.1. 兩數(shù)之和
484.劍指 Offer 10- II. 青蛙跳臺(tái)階問(wèn)題
485.劍指 Offer 48. 最長(zhǎng)不含重復(fù)字符的子字符串
486.劍指 Offer 04. 二維數(shù)組中的查找
487.34. 在排序數(shù)組中查找元素的第一個(gè)和最后一個(gè)位置
488.說(shuō)說(shuō)你對(duì)arguments的理解,它是數(shù)組嗎?
489.怎樣修改chrome記住密碼后自動(dòng)填充表單的黃色背景?
490.css的屬性content有什么作用呢?
491.寫(xiě)一個(gè)獲取數(shù)組的最大值、最小值的方法
492.請(qǐng)描述css的權(quán)重計(jì)算規(guī)則
493.rgba()和opacity這兩個(gè)的透明效果有什么區(qū)別呢?
494.meta
495.寫(xiě)一個(gè)驗(yàn)證身份證號(hào)的方法
496.什么是無(wú)障礙web
497.寫(xiě)一個(gè)方法把0和1互轉(zhuǎn)
498.讓網(wǎng)頁(yè)的字體變得清晰,變細(xì)用CSS怎么做?
499.解釋下CRLF是什么?
500.網(wǎng)頁(yè)上的驗(yàn)證碼是為了解決什么問(wèn)題?
😋 階段二十一(480)
展開(kāi)查看471.Promise
472.413. 等差數(shù)列劃分
473.377. 組合總和 Ⅳ
474.312. 戳氣球
475.322. 零錢(qián)兌換
476.64. 最小路徑和
477.1343. 大小為 K 且平均值大于等于閾值的子數(shù)組數(shù)目
478.Promise術(shù)語(yǔ)
479.Promise承諾狀態(tài)
480.Promisethen
? 階段二十(470)
展開(kāi)查看461.526. 優(yōu)美的排列
462.216. 組合總和 III
463.133. 克隆圖
464.101. 對(duì)稱(chēng)二叉樹(shù)
465.理解迭代
466.129. 求根節(jié)點(diǎn)到葉節(jié)點(diǎn)數(shù)字之和
467.迭代器模式
467.可迭代協(xié)議
468.迭代器協(xié)議
469.自定義迭代器
470.提前終止迭代器
😗 階段十九(460)
展開(kāi)查看451.Object和Array復(fù)習(xí)
452.定型數(shù)組,Map,Set,迭代與擴(kuò)展復(fù)習(xí)
453.基本引用類(lèi)型復(fù)習(xí)
454.402. 移掉 K 位數(shù)字
455.328. 奇偶鏈表
456.數(shù)據(jù)類(lèi)型復(fù)習(xí)
457.735. 行星碰撞
458.239. 滑動(dòng)窗口最大值
459.三次握手
460.四次揮手
🐉 階段十八(450)
展開(kāi)查看441.react jsx
442.React 組件
443.47. 全排列 II
444.692. 前K個(gè)高頻單詞
445.220. 存在重復(fù)元素 III
446.let和const
447.jsx是怎么變成dom的
448.數(shù)組的擴(kuò)展
449.宏任務(wù)與微任務(wù)
450.301與302
🐔 階段十七(440)
展開(kāi)查看426.說(shuō)說(shuō)瀏覽器解析CSS選擇器的過(guò)程
427.手動(dòng)實(shí)現(xiàn)一個(gè)new方法
428.屬性data-的理解
429.用過(guò)CSS預(yù)處理器
430.如何快速讓一個(gè)數(shù)組亂序
431.form標(biāo)簽的enctype屬性
432.::before和:after中單冒號(hào)和雙冒號(hào)的區(qū)別是什么 這兩個(gè)偽元素有什么作用
433.script script async script defer
434.在頁(yè)面中的應(yīng)該使用奇數(shù)還是偶數(shù)的字體
435.寫(xiě)一個(gè)判斷設(shè)備來(lái)源的方法
436.GBK和UTF-8
437.Git的branch及工作流的理解是什么
438.Symbol使用場(chǎng)景
439.延長(zhǎng)作用域鏈
440.z-index的理解
🐟 階段十六(425)
展開(kāi)查看402.React安裝
403.npm
404.文件夾結(jié)構(gòu)
405.指數(shù)運(yùn)算符 (ES2016)
406.Async/await (ES2017)
407.table的作用和優(yōu)缺點(diǎn)
408.table的作用和優(yōu)缺點(diǎn)
409.在頁(yè)面上實(shí)現(xiàn)一個(gè)圓形的可點(diǎn)擊區(qū)域
410.typeof是操作符還是函數(shù)
411.use strict
412.CSS sprites的原理和優(yōu)缺點(diǎn)分別是什么
413.對(duì)SVN和GIT的理解和區(qū)別
414.什么是FOUC?你是如何避免FOUC的?
415.margin邊界疊加是什么及解決方案
416.html中的置換元素和非置換元素的理解
417.javascript的作用域
418."attribute"和"property"有什么不同
419.HTML元素的顯示優(yōu)先級(jí)
420.要讓Chrome支持小于12px的文字怎么做
421.重繪和重排
422.寫(xiě)一個(gè)方法驗(yàn)證是否為中文
423.line-height是如何理解的
424.line-input元素中readonly和disabled屬性的理解
425.js放在html的body和head有什么區(qū)別
🦐 階段十五(401)
展開(kāi)查看385.Vue 動(dòng)態(tài)添加路由及生成菜單
386.數(shù)組排序方法
387.數(shù)組操作方法
388.數(shù)組搜索和位置方法
389.數(shù)組迭代方法
390.數(shù)組歸并方法
391.定型數(shù)組
392.ArrayBuffer
393.DataView
394.ArrayBuffer 視圖
395.迭代與擴(kuò)展操作
396.Map
397.WeakMap
398.Set
399.WeakSet
400.Map順序與迭代
401.選擇 Object 還是 Map
🦂 階段十四(384)
展開(kāi)查看371.集合引用類(lèi)型
372.Object
373.Array
374.數(shù)組空位
375.數(shù)組索引
376.檢測(cè)數(shù)組
377.迭代器方法
378.復(fù)制和填充方法
379.Vue Router
380.Vue Router入門(mén)
381.帶參數(shù)的動(dòng)態(tài)路由匹配
382.轉(zhuǎn)換方法
383.棧方法
384.隊(duì)列方法
😘 階段十三(370)
展開(kāi)查看341.作用域鏈增強(qiáng)
342.變量聲明
343.垃圾回收
344.標(biāo)記清理
345.引用計(jì)數(shù)
346.性能
347.內(nèi)存管理
348.基本引用類(lèi)型
349.Date
350.Date繼承的方法
351.Date日期格式化方法
352.Date組件方法
353.RegExp
354.RegExp實(shí)例屬性
355.RegExp實(shí)例方法
356.RegExp構(gòu)造函數(shù)屬性
357.RegExp模式局限
358.原始值包裝類(lèi)型
359.Boolean
360.Number
361.String
362.字符串操作方法
363.字符串包含方法
364.trim
365.repeat
366.padStart()和 padEnd()方法
367.字符串迭代與解構(gòu)
368.字符串模式匹配方法
369.localeCompare()方法
370. HTML 方法
🥰 階段十二(340)
展開(kāi)查看325.最佳實(shí)踐
326.typeof 操作符
327.Undefined 類(lèi)型
328.Null 類(lèi)型
329.Boolean 類(lèi)型
330.Number 類(lèi)型
331.String 類(lèi)型
332.Symbol 類(lèi)型
333.Object 類(lèi)型
334.函數(shù)
335.原始值與引用值
336.動(dòng)態(tài)屬性
337.復(fù)制值
338.傳遞參數(shù)
339.typeof 操作符
340.執(zhí)行上下文與作用域
341.Global
342.Math
😉 階段十一(324)
展開(kāi)查看307.script元素
308.script元素放置位置
309.推遲執(zhí)行腳本
310.異步執(zhí)行腳本
311.動(dòng)態(tài)加載腳本
312.可擴(kuò)展超文本標(biāo)記語(yǔ)言
313.行內(nèi)代碼與外部文件
314.文檔模式
315.元素
316.區(qū)分大小寫(xiě)
317.標(biāo)識(shí)符
318.注釋
319.嚴(yán)格模式
320.語(yǔ)句最佳實(shí)踐
321.關(guān)鍵字與保留字
322.var
323.let
324.const
🙃 階段十(306)
展開(kāi)查看286.HTTP工作原理
287.cookie和session區(qū)別
288.get和post的區(qū)別
289.xss
290.Symbol 語(yǔ)法
291.響應(yīng)式原理
292.computed和data
293.MVVM
294.路由緩存
295.v-model的原理
296.模版引擎
297.SEO優(yōu)化
298.重置data
299.Observable
300.this.parent
301.data和屬性名
302.生命周期
303.SPA單頁(yè)面
304.location.href
305.計(jì)算屬性和監(jiān)聽(tīng)器
306.v-show, v-if
😍 階段九(285)
展開(kāi)查看251.元素的alt和title有什么區(qū)別
252.new
253.call
254.防抖
255.flex
256.節(jié)流
257.柯里化
258.promise
259.字符串編號(hào)
260.模擬forOf
261.super原理分析
262.promise的單一狀態(tài)與中轉(zhuǎn)
263.promise.then
264.then返回值的處理技巧
265.promise封裝ajax
266.封裝setTimeout定時(shí)器
267.promise隊(duì)列原理
268.異步封裝到類(lèi)內(nèi)部
269.class和await的結(jié)合
270.用reduce實(shí)現(xiàn)promise隊(duì)列
271.BFC
272.重繪與重排
273.動(dòng)畫(huà)
274.inline-block
275.左固定右適應(yīng)
276.三角形
277.flex屬性
278.visibility
279.position
280.清除浮動(dòng)
281.彈性布局
282.什么是語(yǔ)義化與新特性
283.cookie和token
284.cookie是如何工作的
285.測(cè)試promise例子
🧑🏻 階段八(250)
展開(kāi)查看216.事件循環(huán)Event Loop
217.知識(shí)點(diǎn)
218.html-css
219.0.1+0.2==0.3?
220.ES新特性
221.模塊化
222.JS方法源碼實(shí)現(xiàn)
223.用CSS創(chuàng)建一個(gè)三角形,并簡(jiǎn)述原理
224.寫(xiě)一個(gè)去除制表符和換行符的方法
225.圣杯布局和雙飛翼布局的理解和區(qū)別
226.iframe框架都有哪些優(yōu)缺點(diǎn)
227.BFC規(guī)范的理解
228.統(tǒng)計(jì)某一字符或字符串在另一個(gè)字符串中出現(xiàn)的次數(shù)
229.清除浮動(dòng)的方式有哪些及優(yōu)缺點(diǎn)
230.寫(xiě)一個(gè)加密字符串的方法
231.寫(xiě)一個(gè)判斷數(shù)據(jù)類(lèi)型的方法
232.優(yōu)雅降級(jí)和漸進(jìn)增強(qiáng)
233.瀏覽器內(nèi)多個(gè)標(biāo)簽頁(yè)之間的通信方式有哪些
234.viewport常見(jiàn)設(shè)置都有哪些
235.對(duì)比下px、em、rem有什么不同
236.http都有哪些狀態(tài)碼
237.標(biāo)簽語(yǔ)義化的理解
238.css常用的布局方式有哪些
239.簡(jiǎn)要描述下JS有哪些內(nèi)置的對(duì)象
240.瀏覽器內(nèi)核都有哪些
241.寫(xiě)一個(gè)獲取當(dāng)前url查詢(xún)字符串中的參數(shù)的方法
242.html5中的form怎么關(guān)閉自動(dòng)完成
243.什么是回調(diào)函數(shù)
244.網(wǎng)頁(yè)應(yīng)用從服務(wù)器主動(dòng)推送到客戶(hù)端有哪些方式
245.為什么HTML5只需要寫(xiě)就可以
246.寫(xiě)一個(gè)數(shù)組去重的方法
247.title與h1的區(qū)別、b與strong的區(qū)別、i與em的區(qū)別
248.style標(biāo)簽寫(xiě)在body前和body后的區(qū)別是什么
249.什么是閉包
250.返回到頂部的方法有哪些
🧑🏻?💻 階段七(215)
展開(kāi)查看191.new關(guān)鍵字
192.call
193.apply
194.bind
195.js
196.防抖與節(jié)流
197.原型鏈繼承prototype
198.使用構(gòu)造函數(shù)繼承call
199.原型式繼承Object.create.js
200.寄生式繼承
201.寄生組合式繼承
202.靜態(tài)方法的實(shí)現(xiàn)原理
203.protected
204.class屬性繼承原理
205.class方法繼承原理
206.https加密原理
207.總結(jié)原型鏈
208.原型鏈實(shí)例
209.call,apply借用原型鏈
210.原型繼承
211.原型工廠封裝
212.__proto__屬性訪問(wèn)器
213.DataView視圖
214.TypedArray
215.iterator使用場(chǎng)景
😇 階段六(190)
展開(kāi)查看176.事件冒泡和事件捕獲到底有何區(qū)別
177.用遞歸算法實(shí)現(xiàn),數(shù)組長(zhǎng)度為5且元素的隨機(jī)數(shù)在2-32間不重復(fù)的值
178.寫(xiě)一個(gè)方法去掉字符串中的空格
179.CSS3有哪些新增的特性
180.html的元素有哪些
181.HTML全局屬性(global attribute)有哪些
182.在頁(yè)面上隱藏元素的方法有哪些
183.去除字符串中最后一個(gè)指定的字符
184.CSS選擇器有哪些?哪些屬性可以繼承?
185.寫(xiě)一個(gè)方法把下劃線命名轉(zhuǎn)成大駝峰命名
186.HTML5的文件離線儲(chǔ)存怎么使用,工作原理是什么
187.簡(jiǎn)述超鏈接target屬性的取值和作用
188.CSS3新增偽類(lèi)有哪些并簡(jiǎn)要描述
189.寫(xiě)一個(gè)把字符串大小寫(xiě)切換的方法
190.label都有哪些作用
🧑🏻?💻 階段五(175)
展開(kāi)查看151.數(shù)據(jù)綁定的容器更新
152.理解對(duì)象
153.箭頭函數(shù)
154.高階函數(shù)
155.靜態(tài)屬性的使用
156.instanceof
157.promise原理
158.數(shù)組的擴(kuò)展
159.reduce
160.迭代器與for of
161.結(jié)構(gòu)賦值
162.盒模型
163.權(quán)重和優(yōu)先級(jí)
164.Flex實(shí)現(xiàn)垂直居中
165.一個(gè)大小為父元素寬度一半的正方形
166.左右固定中間自適應(yīng)
167.flex左側(cè)固定右側(cè)自適應(yīng)
168.函數(shù)有多個(gè)長(zhǎng)輩
169.原型方法與對(duì)象方法優(yōu)先級(jí)
170.使用父類(lèi)構(gòu)造函數(shù)初始屬性
171.hasOwnProperty屬性檢測(cè)
172.isPrototypeOf原型檢測(cè)
173.原型中的constructor引用
174.那些對(duì)象沒(méi)有原型
175.instanceof
🥲 階段四(150)
展開(kāi)查看146.頁(yè)面導(dǎo)入樣式時(shí),使用link和@import有什么區(qū)別
147.什么是“use strict”,好處和壞處
148.console.log(0.1 + 0.2)
149.數(shù)組pop(), push(), unshift(), shift()的區(qū)別
150.==和===
🧑🏻?💻 階段三(145)
展開(kāi)查看101.閉包語(yǔ)義
102.構(gòu)造函數(shù)的作用和使用形態(tài)
103.延伸函數(shù)生命周期
104.傳遞參數(shù)
105.對(duì)象的含義
106.淺拷貝
107.加解密
108.發(fā)送消息
109.深拷貝
110.對(duì)象api
111.計(jì)算機(jī)的組成
112.進(jìn)程和線程
113.訪問(wèn)器
114.代理對(duì)象
115.代理函數(shù)
116.原型鏈
117.nodeEvent
118.websocket
119.HTTPS工作流程
120.三次揮手
121.緩存
122.數(shù)組使用代理攔截操作
123.創(chuàng)建對(duì)象
124.解構(gòu)賦值
125.Object.assign
126.四次揮手
127.瀏覽器輸入U(xiǎn)RL后回車(chē)
128.webpack實(shí)踐
129.mustache
130.set語(yǔ)法
131.map語(yǔ)法
132.箭頭函數(shù)
133.模板字符串
134.模板字符串
135.構(gòu)造函數(shù)
136.聲明類(lèi)的語(yǔ)法
137.在類(lèi)里面使用訪問(wèn)器
138.public屬性
139.scoped
140.keep-alive
141.vue-router
142.vue-loader
143.修飾符
144.Vue.delete
145.OSI七層網(wǎng)絡(luò)模型
🤣 階段二(100)
展開(kāi)查看51.簡(jiǎn)述Chome盒模型與IE盒模型的區(qū)別
52.行內(nèi)元素和塊級(jí)元素都有哪一些
53.BFC
54.什么是彈性布局
55.html5有哪些新特性
56.position有哪些屬性
57.請(qǐng)說(shuō)出1px,1rem,1vh,1em各自代表的含義
58.什么是SPA
59.簡(jiǎn)述優(yōu)雅降級(jí)與漸進(jìn)增強(qiáng)
60.重繪與重排
61.解釋下浮動(dòng)和它的工作原理和清除浮動(dòng)的方法
62.如何讓一個(gè)盒子在頁(yè)面垂直水平居中
63.前端性能優(yōu)化方案
64.css選擇器優(yōu)先級(jí)順序
65.CSS3有哪些新特性
66.什么是空元素
67.如何實(shí)現(xiàn)瀏覽器內(nèi)多個(gè)標(biāo)簽頁(yè)之間的通訊
68.為什么要初始化css樣式
69.CSS3新增的偽類(lèi)有哪些
70.說(shuō)說(shuō)對(duì)canvas,svg,webgl的理解
71.瀏覽器是如何渲染UI的
72.em、rem的區(qū)別
73.解釋csssprites,如何使用
74.瀏覽器是如何渲染UI的
75.瀏覽器工作原理
76.偽類(lèi)和偽元素的區(qū)別
77.介紹一下你對(duì)瀏覽器內(nèi)核的理解
78.常見(jiàn)的瀏覽器內(nèi)核有哪些
79.優(yōu)化這些圖片的加載
80.如何進(jìn)行seo優(yōu)化
81.如何實(shí)現(xiàn)0.5px邊框
82.less和sass的區(qū)別
83.xhtml和html有什么區(qū)別
84.img標(biāo)簽上title與alt屬性的區(qū)別是什么
85.a標(biāo)簽中 active hover link visited 正確的設(shè)置順序是什么
86.如何處理HTML5新標(biāo)簽的瀏覽器兼容性問(wèn)題
87.HTML5的離線儲(chǔ)存怎么使用
88.頁(yè)面導(dǎo)入樣式時(shí),使用link和@import有什么區(qū)別
89.git reset、git revert和git checkout
90.git pull 和 git fetch 之間有什么區(qū)別
91.如何在 Git 恢復(fù)先前的提交
92.使用箭頭函數(shù)應(yīng)注意什么
93.介紹下 Set、Map的區(qū)別
94.Promise構(gòu)造函數(shù)是同步執(zhí)行還是異步執(zhí)行,那么 then 方法呢
95.setTimeout、Promise、Async/Await 的區(qū)別
96.下面的輸出結(jié)果是多少
97.請(qǐng)寫(xiě)出以下代碼的答案,并解釋為什么要提升
98.var、let、const之間的區(qū)別
99.async 和 await
100.get和post的區(qū)別
🧑🏻?💻 階段一(50)
展開(kāi)查看1.xss總結(jié)
2.csrf
3.html加載過(guò)程
4.defer和async的區(qū)別
5.輸入一個(gè)url后
6.瀏覽器線程線程模型
7.瀏覽器緩存
8.BFC
9.vue-DIFF算法
10.箭頭函數(shù)和普通函數(shù)的區(qū)別
11.vue框架好在哪里
12.vue雙向綁定弊端set實(shí)現(xiàn)
13.vue-router原理
14.跨域問(wèn)題解決方案
15.ObjectdefinePropery和proxy
16.vue組件通信
17.vue雙向綁定
18.三次握手和四次揮手
19.Axios
20.跨域
21.websocket
22.osi七層模型
23.模塊加載方案
24.隱式類(lèi)型轉(zhuǎn)換
25.單向數(shù)據(jù)流與雙向數(shù)據(jù)綁定
26.項(xiàng)目難點(diǎn)
27.EventBus訂閱發(fā)布模式
28.http請(qǐng)求頭
29.TCP
30.vue-router原理2
31.清除浮動(dòng)的方式
32.發(fā)布訂閱模式
41.閉包和作用域鏈
42.前端性能優(yōu)化
43.模塊化
44.http各版本
45.commonjs和es6
46.BFC
47.左側(cè)固定右側(cè)自適應(yīng)
48.三角形
49.vuex核心原理
50.圣杯布局
全棧架構(gòu)師
展開(kāi)查看33.vue源碼解讀
34.webpack原理剖析
35.vue-router前端路由原理剖析
36.React16虛擬dom原理剖析
37.koa2源碼剖析
38.Flutter
39.vue組件設(shè)計(jì)
40.Taro框架
深入理解JS核心技術(shù)
| 1 | 在 JavaScript 中創(chuàng)建對(duì)象的可能方式有哪些 |
| 2 | 什么是原型鏈 |
| 3 | 調(diào)用、應(yīng)用和綁定有什么區(qū)別 |
| 4 | 什么是 JSON 及其常用操作 |
| 5 | 數(shù)組切片方法的目的是什么 |
| 6 | 數(shù)組拼接方法的目的是什么 |
| 7 | 切片和拼接有什么區(qū)別 |
| 8 | 你如何比較Object和Map |
| 9 | == 和 === 運(yùn)算符有什么區(qū)別 |
| 10 | 什么是 lambda 或箭頭函數(shù) |
| 11 | 什么是一級(jí)函數(shù) |
| 12 | 什么是一階函數(shù) |
| 13 | 什么是高階函數(shù) |
| 14 | 什么是一元函數(shù) |
| 15 | 什么是柯里化函數(shù) |
| 16 | 什么是純函數(shù) |
| 17 | let 關(guān)鍵字的作用是什么 |
| 18 | let 和 var 有什么區(qū)別 |
| 19 | 選擇名稱(chēng)let作為關(guān)鍵字的原因是什么 |
| 20 | 如何在 switch 塊中重新聲明變量而不會(huì)出錯(cuò) |
| 21 | 什么是時(shí)間死區(qū) |
| 22 | 什么是 IIFE(立即調(diào)用函數(shù)表達(dá)式) |
| 23 | 您如何在 JavaScript 中解碼或編碼 URL |
| 24 | 什么是備忘 |
| 25 | 什么是吊裝 |
| 26 | ES6 中的類(lèi)是什么 |
| 27 | 什么是閉包 |
| 28 | 什么是模塊 |
| 29 | 為什么需要模塊 |
| 30 | javascript中的作用域是什么 |
| 31 | 什么是服務(wù)人員 |
| 32 | 如何使用 service worker 操作 DOM |
| 33 | 如何在 service worker 重啟時(shí)重用信息 |
| 34 | 什么是索引數(shù)據(jù)庫(kù) |
| 35 | 什么是網(wǎng)絡(luò)存儲(chǔ) |
| 36 | 什么是發(fā)布消息 |
| 37 | 什么是餅干 |
| 38 | 為什么需要 Cookie |
| 39 | cookie 中有哪些選項(xiàng) |
| 40 | 如何刪除 cookie |
| 41 | cookie、本地存儲(chǔ)和會(huì)話(huà)存儲(chǔ)有什么區(qū)別 |
| 42 | localStorage 和 sessionStorage 的主要區(qū)別是什么 |
| 43 | 您如何訪問(wèn)網(wǎng)絡(luò)存儲(chǔ) |
| 44 | 會(huì)話(huà)存儲(chǔ)上可用的方法有哪些 |
| 45 | 什么是存儲(chǔ)事件及其事件處理程序 |
| 46 | 為什么需要網(wǎng)絡(luò)存儲(chǔ) |
| 47 | 你如何檢查網(wǎng)絡(luò)存儲(chǔ)瀏覽器支持 |
| 48 | 你如何檢查網(wǎng)絡(luò)工作者瀏覽器支持 |
| 49 | 舉個(gè) web worker 的例子 |
| 50 | webworkers對(duì)DOM有什么限制 |
| 51 | 什么是承諾 |
| 52 | 為什么需要承諾 |
| 53 | 承諾的三種狀態(tài)是什么 |
| 54 | 什么是回調(diào)函數(shù) |
| 55 | 為什么我們需要回調(diào) |
| 56 | 什么是回調(diào)地獄 |
| 57 | 什么是服務(wù)器發(fā)送事件 |
| 58 | 您如何接收服務(wù)器發(fā)送的事件通知 |
| 59 | 如何檢查瀏覽器對(duì)服務(wù)器發(fā)送事件的支持 |
| 60 | 服務(wù)器發(fā)送的事件有哪些可用的事件 |
| 61 | 承諾的主要規(guī)則是什么 |
| 62 | 什么是回調(diào)中的回調(diào) |
| 63 | 什么是承諾鏈 |
| 64 | 什么是promise.all |
| 65 | 承諾中比賽方法的目的是什么 |
| 66 | 什么是javascript中的嚴(yán)格模式 |
| 67 | 為什么需要嚴(yán)格模式 |
| 68 | 你如何聲明嚴(yán)格模式 |
| 69 | 雙感嘆號(hào)的目的是什么 |
| 70 | 刪除運(yùn)算符的目的是什么 |
| 71 | 什么是 typeof 運(yùn)算符 |
| 72 | 什么是未定義屬性 |
| 73 | 什么是空值 |
| 74 | null 和 undefined 有什么區(qū)別 |
| 75 | 什么是評(píng)估 |
| 76 | 窗口和文檔有什么區(qū)別 |
| 77 | 你如何在javascript中訪問(wèn)歷史記錄 |
| 78 | 你如何檢測(cè)大寫(xiě)鎖定鍵是否打開(kāi) |
| 79 | 什么是 NaN |
| 80 | 未聲明變量和未定義變量有什么區(qū)別 |
| 81 | 什么是全局變量 |
| 82 | 全局變量有什么問(wèn)題 |
| 83 | 什么是 NaN 屬性 |
| 84 | isFinite 函數(shù)的目的是什么 |
| 85 | 什么是事件流 |
| 86 | 什么是事件冒泡 |
| 87 | 什么是事件捕獲 |
| 88 | 如何使用 JavaScript 提交表單 |
| 89 | 您如何找到操作系統(tǒng)詳細(xì)信息 |
| 90 | 文檔加載和 DOMContentLoaded 事件有什么區(qū)別 |
| 91 | 本機(jī),主機(jī)和用戶(hù)對(duì)象之間有什么區(qū)別 |
| 92 | 用于調(diào)試 JavaScript 代碼的工具或技術(shù)有哪些 |
| 93 | 與回調(diào)相比,promise 的優(yōu)缺點(diǎn)是什么 |
| 94 | 屬性和屬性有什么區(qū)別 |
| 95 | 什么是同源策略 |
| 96 | void 0的目的是什么 |
| 97 | JavaScript 是編譯型語(yǔ)言還是解釋型語(yǔ)言 |
| 98 | JavaScript 是區(qū)分大小寫(xiě)的語(yǔ)言嗎 |
| 99 | Java和JavaScript之間有什么關(guān)系嗎 |
| 100 | 什么是事件 |
| 101 | 誰(shuí)創(chuàng)建了 JavaScript |
| 102 | preventDefault 方法有什么用 |
| 103 | stopPropagation 方法有什么用 |
| 104 | return false 涉及哪些步驟 |
| 105 | 什么是物料清單 |
| 106 | setTimeout 有什么用 |
| 107 | setInterval 有什么用 |
| 108 | 為什么 JavaScript 被視為單線程 |
| 109 | 什么是事件委托 |
| 110 | 什么是 ECMAScript |
shields.io/
leetcode
👩🏻?💻:webVueBlog的leetcode刷題📒
? ? ? ?
Number題號(hào)
Title題目
Difficulty難度
Navigation解答
| 1. | 兩數(shù)之和 | 兩數(shù)之和 | |
| 2. | 兩數(shù)相加 | 兩數(shù)相加 | |
| 3. | 無(wú)重復(fù)字符的最長(zhǎng)子串 | 無(wú)重復(fù)字符的最長(zhǎng)子串 |
以 「早起」、「運(yùn)動(dòng)」、「冥想」、「寫(xiě)作」、「閱讀」這五件能夠快速改變?nèi)松氖虑闉榍腥朦c(diǎn),幫助大家建立良好的生活習(xí)慣,技術(shù)的成長(zhǎng)絕不是一朝一夕,良好的習(xí)慣將會(huì)幫助我們更快的進(jìn)步,但在技術(shù)之外,我更希望大家能在這些事情的堅(jiān)持中,收獲一份自信,多一份底氣,對(duì)人生多一份積極。--- (來(lái)源:低調(diào)務(wù)實(shí)優(yōu)秀中國(guó)好青年群)
License
總結(jié)
以上是生活随笔為你收集整理的【深入理解JS核心技术】12. 什么是一阶函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。