随笔分类 -  JavaScript基础相关

摘要:if...else if性能好 阅读全文
posted @ 2021-12-26 15:50 starlog 阅读(134) 评论(0) 推荐(0)
摘要:设置:打开vscode,文件 → 首选项 → 用户片段 → 在搜索框中搜索 JavaScript → 选择 JavaScript.json { // Place your snippets for javascript here. Each snippet is defined under a sn 阅读全文
posted @ 2021-12-11 15:40 starlog 阅读(357) 评论(0) 推荐(0)
摘要:// 使用立即执行的函数表达式 function count_js() { var arr = ["红-js", "黄-js", "蓝-js"]; for (var i = 0; i < arr.length; i++) { (function (i) { setTimeout(() => cons 阅读全文
posted @ 2021-11-01 15:34 starlog 阅读(345) 评论(0) 推荐(0)
摘要:一、前提: 1.JavaScript是单线程语言,代码从上到下执行。 2.JavaScript通过回调函数处理异步。 3.除了广义的同步任务和异步任务,任务还被更精细的定义为宏任务和微任务: 宏任务:整个script代码块、setTimeout、setInterval 微任务:Promise的.th 阅读全文
posted @ 2021-10-24 01:29 starlog 阅读(72) 评论(0) 推荐(0)
摘要:函数防抖:函数被触发后过一段时间再执行,如果在这段时间内又被触发,则重新计时,即将多次高频操作优化为只在最后一次执行。应用场景为用户连续输入,只需要在输入结束后做一次校验即可,比如input搜索或校验。简而言之,就是在input请求时使用防抖。 function debounce(func, ms 阅读全文
posted @ 2021-10-18 19:04 starlog 阅读(1264) 评论(0) 推荐(0)
摘要:function unique(arr) { let res = []; for (let i = 0; i < arr.length; i++) { let current = arr[i]; if (res.indexOf(current) -1) res.push(current); } re 阅读全文
posted @ 2021-09-30 14:47 starlog 阅读(33) 评论(0) 推荐(0)
摘要:class Event { constructor() { // 存储事件的数据结构 // 为了查找迅速,使用了对象(字典) this._cache = {}; } // 绑定 on(type, callback) { // 为了按类查找方便和节省空间, // 将同一类型事件放到一个数组中 // 这 阅读全文
posted @ 2021-09-30 14:27 starlog 阅读(709) 评论(0) 推荐(0)
摘要:let array = [ { id: 1, name: "001", children: [ { id: 2, name: "002", }, ], }, { id: 3, name: "003", children: [] }, ]; function getFlatArr(arr) { ret 阅读全文
posted @ 2021-09-30 13:46 starlog 阅读(1576) 评论(0) 推荐(1)
摘要:<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="wi 阅读全文
posted @ 2021-08-12 10:17 starlog 阅读(409) 评论(0) 推荐(0)
摘要:从高到低为: 运算符 描述 . [] () 字段访问、数组下标、函数调用以及表达式分组 ++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值 * / % 乘法、除法、取模 + - + 加法、减法、字符串连接 << >> >>> 移位 < 阅读全文
posted @ 2021-06-12 00:31 starlog 阅读(62) 评论(0) 推荐(0)
摘要:1.for in循环的是对象的key,for of循环的是对象的value,for of不能循环普通的对象 2.for in循环的是可枚举属性,for of循环的是可迭代对象 3.一般情况下,循环对象属性用for in,循环数组用for of 阅读全文
posted @ 2021-06-10 23:29 starlog 阅读(173) 评论(0) 推荐(0)
摘要:一、10进制转其他进制(如2进制): console.log(num.toString(2)) 二、其他进制(如2进制)转10进制: console.log(parseInt(num,2)) 阅读全文
posted @ 2021-06-10 23:18 starlog 阅读(117) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2021-05-29 16:48 starlog 阅读(36) 评论(0) 推荐(0)
摘要:一、基础/原始类型(primitive type): number、string、boolean、undefined、null、symbol 二、合成/引用类型(complex type): object(plain object、array、function ) 阅读全文
posted @ 2021-05-29 16:35 starlog 阅读(54) 评论(0) 推荐(0)
摘要:一、XMLHttpRequest: 1.get请求与post请求: // get请求 const xhr = new XMLHttpRequest() xhr.open('GET', '/data/test.json', true) xhr.onreadystatechange = function 阅读全文
posted @ 2021-05-12 17:49 starlog 阅读(94) 评论(0) 推荐(0)
摘要:一、 事件绑定: 获取触发的元素:event.target 阻止默认行为:event.preventDefault() 二、事件冒泡: 1.事件冒泡的流程: (1)基于DOM树形结构 (2)事件会顺着触发的元素往父元素冒泡 (3)事件冒泡的应用场景:事件代理,它基于事件冒泡 2.阻止往上冒泡:eve 阅读全文
posted @ 2021-05-11 18:47 starlog 阅读(72) 评论(0) 推荐(0)
摘要:一、navigator(浏览器)和screen(屏幕): 1.navigator.userAgent:当前浏览器信息 2.screen.width:屏幕宽度 3.screen.height:屏幕高度 二、location(地址)和history(前进、后退): 1.location.href:整个网 阅读全文
posted @ 2021-05-10 15:10 starlog 阅读(57) 评论(0) 推荐(0)
摘要:一、DOM本质: 浏览器根据HTML文件解析出的一个树形结构 二、DOM节点操作: 1.获取DOM节点: const div1 = document.getElementById('div1') // 元素 const divList = document.getElementsByTagName( 阅读全文
posted @ 2021-05-10 11:51 starlog 阅读(67) 评论(0) 推荐(0)
摘要:一、什么是微任务,什么是宏任务: 1.微任务:Promise、async/await 2.宏任务:setTimeout、setInterval、Ajax、DOM事件 3.微任务比宏任务执行的更早 console.log(100) setTimeout(() => { console.log(200) 阅读全文
posted @ 2021-05-08 18:19 starlog 阅读(1113) 评论(0) 推荐(0)
摘要:for...in、forEach、for是常规的同步遍历,而for...of是常用于异步的遍历 // 定时算乘法 function multi(num) { return new Promise((resolve) => { setTimeout(() => { resolve(num * num) 阅读全文
posted @ 2021-05-08 15:07 starlog 阅读(229) 评论(0) 推荐(0)