摘要: 原文链接 什么是闭包(Closure) 简单讲,闭包就是指有权访问另一个函数作用域中的变量的函数。 MDN 上面这么说:闭包是一种特殊的对象。它由两部分构成:函数,以及创建该函数的环境。环境由闭包创建时在作用域中的任何局部变量组成。 但是,网上找了好多资料,它们对闭包的定义也各有各样,搞得我也不知道 阅读全文
posted @ 2020-02-05 10:38 Object_L 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 1. 确保数组值 使用 grid ,需要重新创建原始数据,并且每行的列长度可能不匹配, 为了确保不匹配行之间的长度相等,可以使用Array.fill方法。 let array = Array(5).fill(''); console.log(array); // outputs (5) ["", " 阅读全文
posted @ 2020-01-16 13:42 Object_L 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 什么是原型链? 是一种关系,实例对象和原型对象之间的关系,关系是通过原型来联系的 或者是原型链就是创建一个构造函数,它会默认生成一个prototype属性并指向原型对象。使用下一个构造函数的原型对象作为这个构造函数的实例。 1 //构造函数 2 function Person(name,age) { 阅读全文
posted @ 2020-01-07 16:57 Object_L 阅读(209) 评论(0) 推荐(0) 编辑
摘要: html部分: 1 <ul> 2 <li> 3 <input type="radio" name="radio" id="tab1" checked> 4 <label for="tab1">选项一</label> 5 <div class="content">内容一</div> 6 </li> 7 阅读全文
posted @ 2019-12-29 13:26 Object_L 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 你可能在网上见过有人用 几个不同的字符写的各种稀奇古怪的 JavaScript 代码,虽然看起来奇怪,但是能正常运行!比如这个: 1 (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]] 你猜运行结果是什么?你可以自己去控 阅读全文
posted @ 2019-12-26 09:26 Object_L 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1.利用es6的iterable数据结构set 原理: ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set 本身是一个构造函数,用来生成 Set 数据结构。 (利用的算法类似' ',与' '的区别是 ‘ ’认为NaN != NaN ,set的算法认为它们是 阅读全文
posted @ 2019-12-24 14:31 Object_L 阅读(908) 评论(0) 推荐(0) 编辑
摘要: 简介 我们常说的文档流其实分为定位流、浮动流和普通流三种。而普通流其实就是指BFC中的FC。 FC是formatting context的首字母缩写,直译过来是格式化上下文,它是页面中的一块渲染区域,有一套渲染规则,决定了其子元素如何布局,以及和其他元素之间的关系和作用。 常见的FC有BFC、IFC 阅读全文
posted @ 2019-12-22 19:45 Object_L 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 大家都知道,javascript是解释性语言,主要特点为解释一行执行一行。 而在js运行时会进行三件事:1.语法分析 2.预编译 3.解释执行 语法分析会在代码执行前对代码进行通篇检查,以排除一些低级错误 预编译发生在代码执行的前一刻 解释执行就是执行代码 预编译的作用: 1、函数声明整体提升; 即 阅读全文
posted @ 2019-12-18 19:50 Object_L 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 事件委托在算是JS里比较流行的技术了。它可以让我们添加监听器到父元素上,来避免监听每个子元素。下面我就用一个简单的例子来说明吧。 比如说现在一个列表里有几千个子元素: 1 <body> 2 <div id="container"> 3 <ul id="list"> 4 <li><a href="#" 阅读全文
posted @ 2019-12-18 19:08 Object_L 阅读(255) 评论(0) 推荐(0) 编辑