摘要:1.全局变量 全局变量 2段测试代码 <script> var a = (new Array(1000000).fill("*aaaa1111")); </script> <script> function name() { var a = (new Array(1000000).fill("*aa
阅读全文
摘要:盗一个图 每次点击一次,就会有一条蓝色的柱子,分配一定的内存出来。框出这一条,查看分配的内存值为78.3kb;constructor里面保存了分配给了哪些 变量和值,其中array 占 3%,可以看到数组中包含的变量,arr; 通过sampling可以看出哪些函数在申请使用内存,浏览器分配内存是由哪
阅读全文
摘要:会导致页面卡顿,页面崩溃 5,6 秒以后,就能体会到内存泄漏的结果 <style> #top{ width: 100px; height: 100px; background: red; }</style> <body> <div id="top"></div> </body> <script> v
阅读全文
摘要:参考 : https://www.jianshu.com/p/12d5209ef882 <style> #button{ width: 100px; height: 100px; background: red; cursor: pointer; } </style> <body> <div id=
阅读全文
摘要:1.限制调速 点进去设置自己需要的速度,恒定速度加载 2.刷新页面,可以看到Finish 速度是2.63 s 每个文件加载速度为 Time 的时间为每个文件加载所消耗的时间 2.查看并发加载 这段重叠的部分是并发执行的,也是就是说,多加载a.js 和 b.js 是不会影响速度的,所以删除这个文件测一
阅读全文
摘要:闭包就是函数作用域是一个封闭的区域,作用域变量携带到外层,可以携带它对父作用域的变量的引用,不会被销毁 最近在看 《JavaScript编程精粹》这本书,里面提到高级程序都会使用到闭包 应用场景 1.setTimeout的循环 for(var i = 1; i < 5; i++){ setTimeo
阅读全文
摘要:http协议 https://tools.ietf.org/pdf/rfc7231.pdf https://www.w3.org/Protocols/ 1.http协议就是一个规定了,超文本传输的格式,互相传输的时候必须传那些内容的协议。是一份协议,规定大家必须按照这个格式来传。 HTTP 协议定义
阅读全文
摘要:1.代码语义化,像写一个故事一样描述代码。 空行4个空格 变量名称表面意义,不限制长度,驼峰写法 布尔值用isChange,来命名 给包名,main.utils.init /main.date.tatal (应用名/包/实现的方法),语义化 方法名 动词+名称 function getAllPara
阅读全文
摘要:我们知道js中所有的块级作用域都是无效的,块级作用域内的变量,在外部仍然可以被读取,其实是申明在外部的。如何实现变量的私有化,只在块级作用域起效,避免污染全局的变量呢。而且,挂载在全局的变量很难被回收,但是函数里面变量,执行完毕就会被回收(不包含函数内的引用函数变量的内部函数,也叫闭包) javas
阅读全文
摘要:1.数组的length是只读的么? 2.数组包含的项有数量的限制么? 3.如何检测一个变量是否是数组 4.向一个数组 var arrs = ["test","nahd"]; arrs[99] = "test"; 那么 arrs[20]的值是多少,数组的长度是多少? 5 有一个数组是 var arrs
阅读全文
摘要:经典继承就是组合继承,就是组合构造函数和原型链的优点混合继承。 1.避免引用类型的属性初始化 2.避免相同方法的多次初始化 function Super(name){ this.ages = [100,200,300]; this.name = name; } Super.prototype.pri
阅读全文
摘要:构造借用(constructor strealing) 1.为什么已经存在原型链继承还要去使用构造借用 首先看一下这个例子 function Super(){ this.sets = [0,1,2]; } Super.prototype.age = 100; function Sub(){ this
阅读全文
摘要:1.给10个div添加点击事件 <body> <div class="sd">sdss</div> <div class="sd">hsdjs</div> <div class="sd">sdss</div> <div class="sd">hsdjs</div> <div class="sd">s
阅读全文
摘要:var person = {}; Object.defineProperty(person, "name", { writable: false, value: "nichile" }); alert(person.name); person.name = 'sdd'; alert(person.name); defineProperty 定义属性 writab...
阅读全文
摘要:实现函数 calllt,调用之后满足如下条件1.返回的结果为调用fn之后的结果2.fn的调用为calllt的第一个参数之后的全部参数 方法1 使用es6 方法2 循环出一个新数组 方法3 使用
阅读全文
摘要:方法1 方法2 reduce 方法 方法3 方法4 方法4混合了1和3,只是多了一个array判断是否拥有indexOf方法,Array构造是否拥有原型方法indexOf
阅读全文
摘要:输出结果是 underfined, 1, 2 因为实际代码里面 a被提升在顶部声明了,而且函数声明先于变量申明;所以实际运行里面代码是这样的
阅读全文
摘要:输出的结果是 456 因为 对象的键值会转换为字符串 a[b] == a["[object Object]"] 可以打印一下看看结果 和这个结果
阅读全文
摘要:先来显示一下它的过程 1.给一个数组 10,22,3,90,8,6 从小到大 快速排序 2.选取它的第一个值作为flag 其他数组以此做排序,比它大的放右边,比它小的放左边。[10, 22, 3, 90, 8, 6] => { 3, 8, 6 } 10 { 22, 90 } 3.上一步得到的数组是{
阅读全文
摘要:被观察者的状态更改时,观察者执行相对的事情 观察者和被观察者,耦合度比较小,更改的代码不写在被观察者里面 一个被观察者可以有多个观察者 其他应用场景 1.vue 的 watch 监听 变量的更新 2. promise then 异步的then 可以有多个then func是被观察者。被观察者更新值,
阅读全文