js基础
挥别了青春
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
简析浏览器缓存及实践
浏览器缓存是一个老生常谈的话题,也是现阶段前端面试必问高频问题之一。这篇文章主要总结下我对缓存的认识,有什么不足之处欢迎指正。强缓存和协商缓存我们一般把浏览器缓存分为强缓存和协商缓存。强缓存强缓存,顾名思义,指的就是每次请求都走或者不走缓存,不和服务端交互。走或不走缓存主要通过expires和cache-control字段来控制。expire是一个时间戳,其实本质上它就是一个过期时间...原创 2019-10-26 11:01:53 · 249 阅读 · 0 评论 -
js中数组常用的方法总结,包括ES6
1.push() 后增push()方法可以向数组后添加一个新的元素,并返回新数组的长度。末尾添加,返回长度,改变原数组var a = [1,2,3]var b = a.push(4)console.log(a) // [1,2,3,4] console.log(b) // 42.unshift() 前增unshift()可以向数组前添加一个或多个元素,并返回新的长...原创 2018-10-13 11:17:47 · 17713 阅读 · 3 评论 -
关于js的立即执行函数
1.立即执行函数的定义一般而言,函数的定义有以下几种方式// 1.函数声明function b(){ console.log("b")}// 2.表达式var a = functon(){ console.log("a")}// 3.匿名函数function(){ console.log('b')}立即执行函数是指定义就被执行的函数,通过(...原创 2018-10-24 22:36:44 · 213 阅读 · 0 评论 -
理解js中的作用域
执行期上下文(AO):函数在运行时(或预编译时),会创建一个叫执行期上下文问的一个内部对象。AO或GO,他定义了一个函数的执行环境(用来做变量/函数的提升等等),函数执行完毕则会销毁。作用域:每一个函数对象都有一个[[scope]]属性,他内部存储了执行期上下文的集合,也就是我们说的作用域。这个集合是一种链式结构,叫做作用域链作用域链的形成过程当函数被定义时,这个函数的[[scope]]属性...原创 2019-02-27 18:38:27 · 1201 阅读 · 0 评论 -
深入理解js中的闭包
写在前边:我们知道,当函数执行时,会形成自己的执行期上下文,并把它挂到自己的作用域链上,当函数执行完之后,它的执行期上下文就会被释放。所以,一般情况下,在函数外部访问函数内部的变量需要特殊的方法才能解决,这个特殊的方法就是闭包。在理解闭包前,我建议你先了解下js的作用域。理解js中的作用域闭包的概念闭包:闭包指的是在函数的外部可以访问函数内部的变量。函数没有被释放,整条作用域链上的局部变...原创 2019-03-05 21:48:28 · 553 阅读 · 0 评论 -
js中创建对象的几种方式及其优缺点
1.通过字面量方式var obj = { 'name':'tom', sayName:function(){ cosnole.log(this.name) }}2.通过new Object() 的方式var obj = new Object()obj.name = 'tom'obj.sayName = function(){ c...原创 2019-03-13 22:20:41 · 843 阅读 · 0 评论 -
关于js中的this指向问题
每个函数的this是在函数执行时绑定的,完全取决于函数的调用位置(函数执行时地方)。我把js中的this指向分为以下5大类默认绑定默认绑定时是把this绑定在window上;如果使用严格模式,则会绑定到undefined上function foo(){ console.log(this.a)}var a = 2foo() // 2这里的this就绑定在window上,如果使...原创 2019-03-04 12:53:35 · 381 阅读 · 0 评论 -
js基础之深入原型和原型链
prototype从构造函数看起function Person () { }var person1 = new Person()var person2 = new Person()person1.name = '小明'person2.name = '小红'console.log(person1.name,person2.name) // 小明,小红 每一个构造函数都有一个...原创 2019-03-11 23:12:16 · 255 阅读 · 0 评论
分享