JS
cjn.
这个作者很懒,什么都没留下…
展开
-
JS - 事件循环机制(Event Loop)
JS事件循环机制,最常用到的地方应该是做面试题,经常给出一段代码,让你写出console.log()顺序,很伤脑经,死记题目过不久又忘了。了解JS事件循环机制之后,可以很轻松的解决这类题目。这里安利一下我这次学习课程《2分钟了解 JavaScript Event Loop | 面试必备》,视频很短,用动画的形式讲解了JS事件循环机制,真的很不错!有能力的同学去给UP主三连吧。题外话:之前看这个UP主的自我介绍视频,挺励志的一个前端工程师,从三本的学校再到读国外计算机研究生,现在应该30+岁了吧,可能他厌原创 2020-08-20 13:14:42 · 320 阅读 · 0 评论 -
JS - 闭包 & 作用域 & 内存泄漏
之前看了很多关于闭包概念的文章,看完后总是处于似懂非懂的状态,时间一长又忘了。最近重新找资料学习,在b站发现了后盾人这个教程视频:《第九章 这次把JS闭包给你讲得明明白白》,这个老师讲的很清晰,从作用域开始讲,到闭包的概念,再到闭包使用场景(商品排序),我觉得记牢一个知识点要联系它的使用场景,课程中的商品排序例子就是一个很好解释闭包的例子。挺推荐大家去观看学习的,特别是初学者、对闭包概念很模糊、看文章又看难理解的同学,有能力的同学去给老师投币哈哈哈!闭包1.学习闭包之前,先要了解JS的作用域,JS主原创 2020-08-19 11:56:50 · 266 阅读 · 0 评论 -
JS - <script>加载顺序
!async !defer在<head>中,<script>不加async defer属性值时,浏览器至上而下加载html文档,遇到script引用,暂停html加载,等待script脚本加载&执行完,再加载之后的html// index.html<!DOCTYPE html><html><head> <script type="text/javascript" src="./main.js"></..原创 2020-08-17 23:34:58 · 818 阅读 · 0 评论 -
JS - Map Set & 去重方法
MapMap是一种数据结构,由键值对组成。Map看起来像一个二维数组,存放着一对对键值对,可通过键名获取对应的键值。将一个对象数组(例如学生成绩对象)转化为Map,可以通过“学生姓名”获取“学生成绩”,Map查询速度更快。var scoreList = [ { name: 'Tim', age: 18, score: 90 }, { name: 'Tony', age: 17, score: 95 }, { name: 'Kevin', age: 18, score: 91 }];原创 2020-08-17 22:28:05 · 8540 阅读 · 0 评论 -
JS - 笛卡尔积算法
笛卡尔积的定义假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。使用场景计算出商品的SKU,SKU是英语中Stock Keeping Unit的缩写,直译过来就是存货单元。举个例子,女孩子去买衣服,找到喜欢的款式,喜欢的颜色,还得找到自己的尺码——款式 + 颜色 + 尺码就是这里说的SKU,是我们识别产品所必须的,也是商场进出存的最小单元。算法reduce()函数使原创 2020-08-14 16:26:43 · 6600 阅读 · 0 评论 -
JS - 回文字符串
回文字符串字符串正序读的结果与倒序读的结果一样,例如“上海自来水来自海上”两种判定方法数组指针 递归数组指针:移动头指针与尾指针进行元素比较var s = '上海自来水来自海上';var len = s.length;var mid = len % 2 ? len / 2 - 1 : len / 2; // 字符串长度为奇、偶数时的比较次数 var flag = true;for (let i = 0; i < mid; i++) { let head = s[i]原创 2020-08-14 10:47:46 · 2357 阅读 · 0 评论 -
JavaScript slice() splice()学习
slice(startIndex, endIndex),endIndex选填,可为负数,不填则截取剩余所有。不会修改原始的数组splice(startIndex, length, item1,....,item2),length必填(删除的元素个数),item1,...,item2选填(新插入的元素),返回值为删除元素组成的数组。会修改原始的数组var _arr = [0, 1, 2, ...原创 2018-07-30 16:40:25 · 514 阅读 · 0 评论 -
JavaScript search match test exec总结
一直对JS正则表达式中的几个函数傻傻分不清楚,search(),match(),test(),exec(),下面对四个函数进行总结按所属对象划分 search(),match()属于String对象;test(),exec()属于RegExp对象按函数功能划分 - 验证是否匹配search(),test()按函数功能划分 - 提取出匹配项match(),exec()St...原创 2018-07-31 14:28:07 · 552 阅读 · 0 评论 -
JavaScript apply() call()学习
个人理解,apply()、call()的作用就是"借用"其他的函数,完成事情,第一个参数都是运行时的对象apply()与call()区别apply()第二个参数传入的是数组,call()第二个传入的参数是一串变量(记忆方法:call打电话,需要一个一个拨)以下代码是网上普遍的例子1.function person (name, age) { this.name = name...原创 2018-07-31 17:28:25 · 164 阅读 · 0 评论 -
JavaScript this学习
学习参考博客:https://www.cnblogs.com/chenhuichao/p/9351754.html 函数中的this在函数定义时,并不会知道指向谁,只有在调用的时候才能确定,大部分情况下,this指向函数的调用者由window调用function f () { var user = "cjn"; console.log(this) // window ...原创 2018-08-01 21:39:55 · 136 阅读 · 0 评论 -
JavaScript typeof instanceof的使用
typeof检测一个变量的类型,还可以检测一个变量是否声明// 这种写法会出现异常if (a) {}// 使用typeof判断变量是否定义,这里属于RHS查询~if (typeof(a) === 'undefined') { }// 检测数组var arr = []console.log(typeof(arr)) // Objectconsole.log(ar...原创 2018-08-03 12:01:53 · 149 阅读 · 0 评论 -
JavaScript 根据key获取url中value
代码参考于网上面试题function getValue (key) { var _href = window.location.href; if(_href.split('?')[0] === _href) { return ""; } var arr = _href.split('?')[1].split('&'); var obj = {} for (var i=...原创 2018-07-30 15:42:11 · 993 阅读 · 0 评论 -
JavaScript jsonp解决跨域问题
产生跨域原因[浏览器同源策略]:协议不同(http/https)、域名不同、端口不同演示下出现跨域的情况,请求豆瓣api:http://api.douban.com/v2/movie/top250jquery-ajax请求function req_test () { var url = "http://api.douban.com/v2/movie/top250" $.ajax...原创 2018-08-03 17:55:30 · 1882 阅读 · 0 评论 -
JavaScript filter map函数学习
filter(function(currentValue, index, arr)), thisValue) :function遍历判断A数组中的每一个元素,如果为True测返回,最终生成B数组var arr = [1, 2, 3, 4, 5]function foo (value, index, arr) { return value >= 4}console.log(a...原创 2018-07-17 15:31:28 · 149 阅读 · 0 评论 -
JavaScript with语句和LHS和RHS查询
学习博客:JavaScript中with的用法 JavaScript中的LHS和RHS查询with语句总结改变作用域 容易造成内存泄漏 性能低 “严格模式“下禁用1.with语句可以方便多次修改对象中的值(通过改变对象的作用域)// 修改obj对象中的变量var obj = { a: 1, b: 2, c: 3}// 方式一obj.a = 11;obj...原创 2018-07-17 18:39:51 · 220 阅读 · 0 评论 -
JavaScript 立即执行函数
学习参考文章:JavaScript中立即执行函数实例详解 立即执行函数表达式(IIFE)IIFE(Immediately Inoveked Function Expression)立即知悉你跟函数表达式特点函数创建后立即执行,不需要被调用作用1.不必为函数命名,避免了污染全局变量(第三方库中存在大量的变量与函数)2.形成了一个单独的作用域,可以封装一些外部无法读取的私有...原创 2018-07-19 10:32:52 · 223 阅读 · 0 评论 -
需要仔细阅读的博客文章
JavaScript中with的用法JavaScript中的LHS和RHS查询从JavaScript的作用域链到闭包 ..立即执行函数表达式(IIFE)10道典型的JavaScript面试题 ...Javascript 严格模式详解 ...Javascript模块化编程(一):模块的写法 ......转载 2018-07-13 15:20:17 · 175 阅读 · 0 评论