摘要:
1.基本类型传递方式 2.复杂类型按引用传递 3.按共享传递 复杂类型之所以会产生这种特性,原因就是在传递过程中,对象a先产生了一个副本a, 这个副本a并不是深克隆得到的副本a,副本a地址同样指向对象a指向的堆内存. 因此在函数体中修改x=10只是修改了副本a,a对象没有变化. 但是如果修改了x.a 阅读全文
摘要:
1.section标签定义文档中的节(section、区段)。比如章节、页眉、页脚或文档中的其他部分。 <section cite="http://www.baidu.com"> 我是<section></section> </section> 2.progress相当于一个进度条,如果不给max和 阅读全文
摘要:
1.JavaScript中的变量类型有哪些? (1)值类型(基本类型):字符串(string)、数值(number)、布尔值(boolean)、undefined、null、symbol (2)引用类型:对象(Object)、数组(Array)、函数(Function) 2.值类型和引用类型的区别 阅读全文
摘要:
特点 正向代理: 代理客户; 隐藏真实的客户,为客户端收发请求,使真实客户端对服务器不可见; 一个局域网内的所有用户可能被一台服务器做了正向代理,由该台服务器负责 HTTP 请求; 意味着同服务器做通信的是正向代理服务器; 反向代理: 代理服务器; 隐藏了真实的服务器,为服务器收发请求,使真实服务器 阅读全文
摘要:
一、new做了什么 1.创建了一个全新的对象。 2.这个对象会被执行[[Prototype]](也就是__proto__)链接。 3.生成的新对象会绑定到函数调用的this。 4.通过new创建的每个对象将最终被[[Prototype]]链接到这个函数的prototype对象上。 5.如果函数没有返 阅读全文
摘要:
1.简单版: 局限性: 他无法实现对函数 、RegExp等特殊对象的克隆 会抛弃对象的constructor,所有的构造函数会指向Object 对象有循环引用,会报错 2.面试版: 局限性: 一些特殊情况没有处理: 例如Buffer对象、Promise、Set、Map 另外对于确保没有循环引用的对象 阅读全文
摘要:
1.最经典的跨域方案jsonp jsonp本质上是一个Hack,它利用<script>标签不受同源策略限制的特性进行跨域操作。 jsonp优点: 实现简单 兼容性非常好 jsonp的缺点: 只支持get请求(因为<script>标签只能get) 有安全性问题,容易遭受xss攻击 需要服务端配合jso 阅读全文
摘要:
1.减少请求数量 文件合并 图片合并或base64 避免使用空的src和href 不使用CSS @import 减少重定向 使用缓存 2.减小资源大小 资源压缩 安卓下使用webp格式的图片 开启gzip 3.优化网络连接 使用CDN 使用DNS预解析 <script type="text/java 阅读全文
摘要:
1.短轮询 短轮询的原理很简单,每隔一段时间客户端就发出一个请求,去获取服务器最新的数据,一定程度上模拟实现了即时通讯。 优点:兼容性强,实现非常简单 缺点:延迟性高,非常消耗请求资源,影响性能 2.comet comet有两种主要实现手段,一种是基于 AJAX 的长轮询(long-polling) 阅读全文
摘要:
浏览器缓存 缓存对于前端性能优化来说是个很重要的点,良好的缓存策略可以降低资源的重复加载提高网页的整体加载速度。 通常浏览器缓存策略分为两种:强缓存和协商缓存。 强缓存 实现强缓存可以通过两种响应头实现:Expires 和 Cache-Control 。强缓存表示在缓存期间不需要请求,state c 阅读全文