面试--js实现继承的几种方式

2017-10-08
阅读 3 分钟
5.3k
基于原型的继承 {代码...} 这种继承会有如下的缺点:1、如果父类包含有引用类型的属性 所有的子类就会共享这个属性。2、在创建子类的实例时 不能向父类的构造函数传递参数 组合式继承 原型继承+构造函数的继承 {代码...} 子类继承父类的属性,一组在子类实例上,一组在子类原型上(在子类原型上创建不必要的多余的属性)...

图解http协议

2017-10-08
阅读 7 分钟
3.5k
一、协议族 解决了以下的问题 进而指定的一系列规则1、怎样探测到通信的目标 目标2、由哪一边发起通信 发3、使用哪一种语言进行通信 发送中 4、怎样结束通信 发送完二、TCP/IP的分层管理应用层:向用户提供应用服务时的通信活动 FTP HTTP DNS传输层:提供处于网络连接的两台计算机之间的数据传输 TCP UDP网络层: 数据包...

面试--web安全的理解

2017-10-07
阅读 2 分钟
6.4k
web前端安全主要会涉及以下几种 xss xss cross-site scripting跨域脚本攻击 它允许恶意web用户将代码植入到提供给其它用户使用的页面中。其实在web前端方面,可以简单的理解为一种javascript代码注入。 XSS攻击分为三种,分别是: Reflected XSS(基于反射的XSS攻击) Stored XSS(基于存储的XSS攻击) DOM-based or loc...

面试--同源以及规避同源限制的方法

2017-10-05
阅读 3 分钟
4.5k
同源政策的目的,是为了保证用户信息的安全,防止恶意的网站窃取数据。设想这样一种情况:A网站是一家银行,用户登录以后,又去浏览其他网站。如果其他网站可以读取A网站的 Cookie,会发生什么?

面试--跨域--cors

2017-10-05
阅读 3 分钟
4.3k
cors 跨域资源共享 Cross-origin resource sharing是一种跨域的解决方案 它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。 但是需要浏览器的支持。值得注意的是:整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信(只要在服务器端设置了就行)与同...

node学习

2017-10-01
阅读 7 分钟
1.4k
顶层对象 js中的顶层对象是windownode中顶层对象是global 没有window这个概念 node的模块化 在node中一个文件就是一个模块 每一个模块都有自己的作用域 每一个模块都是属于当前作用域的而不是全局的 全局的作用域 {代码...} 但是在2.js仍然不能使用global.js 每一个模块都有自己的全局 __filename 就会得到文件当前的位...

less学习

2017-10-01
阅读 3 分钟
1.8k
css里边的jquery 可以使用多种编译环境将less转换为css 我是用的是node安装less 文件.lesswrite less do more依程序员的角度去编写css css3的出现 css 兼容性写法使用less更容易 -webkit- -moz- -o-等使用less的混合写法更加方便

DOM

2017-09-30
阅读 2 分钟
1.5k
元素节点 div ul li 等元素 nodeType 为 1document 的 nodeType 为 9文本节点 (可能为空格或者回车也是文本节点) nodeType 为 3注释节点 nodeType 为 8属性节点 通过ele.attributes属性 nodeType 为2

es6--symbol

2017-09-29
阅读 1 分钟
1.4k
symbol 表示独一无二的值 是js中的 新增加的数据类型为什么会出现这样的一个属性?因为在es5中对象的属性名都是字符串很容易冲突 当使用symbol时就是一种独一无二的值

面试--网络

2017-09-26
阅读 1 分钟
1.3k
多路复用允许同时通过单一的http/2连接发起多重的请求响应信息。http2.0很容易的去实现多流并行而不用依赖建立多个tcp连接 http/2把http协议的通信基本单位缩小为一个一个的帧 并行的在同一个TCP连接上双向的交换信息。二进制分帧在不改动http/1.x的语义 方法 状态码 URI 以及首部的情况下 http2.0通过在应用层和传输层...

面试--css面试

2017-09-26
阅读 4 分钟
3.9k
css的盒模型包括:content+padding+border+margin同时值得注意的是:css 的外边距会在垂直方向合并。 两个上下方向相邻的块元素框垂直相遇时,外边距会合并,合并后的外边距的高度等于两个发生合并的外边距中较高的那个边距值

es6--class以及类的继承

2017-09-25
阅读 1 分钟
1.9k
同时值得注意的是typeof Miaov 会返回function 所以class 只是一个语法糖Miaov中的constructor方法是构造方法 this关键字代表的是实例对象 定义在class中的方法都是相当于定义在Miaov.prototype上边

es6--iterator 和 for...of

2017-09-25
阅读 2 分钟
1.5k
es6中map set arr obj 这4种数据对象 这样就需要一种统一的接口机制来处理所有不同的数据结构作用:1、为各种数据结构提供一个同一的、简便的数据接口2、使得数据结构的成员按照某种次序排列3、es6 新增了 for..of循环 来遍历iterator

es6--Map集合

2017-09-25
阅读 1 分钟
3k
也是键值对的集合 但是键的范围不限于是字符串 各种类型(普通类型以及引用类型)的值 都行 但是在set中键只能是0 1 2 3 4这样子的索引

es6--set集合

2017-09-25
阅读 1 分钟
2.2k
集合是由一组无序且唯一的项组成的。这个数据结构使用了与有限集合相同的数学概念。集合的特点 key和value 的个数相同 没有重复的value 类似于数组 但是成员的值都是唯一的,没有重复的值

es6--解构赋值

2017-09-25
阅读 1 分钟
1.6k
数组的解构赋值 {代码...} 嵌套的数组解构 本质上是等号左右两边模式的匹配 带参数的数组的解构赋值 {代码...} 对象的解构赋值 对象的解构赋值 不是按照顺序 而是按照对象的属性名 来查询 基本数据类型的结构赋值 {代码...} 将基本数据类型转化为了数组 一句话交换数组中指定下标的两个值 就可以使用赋值结构

es6-let const

2017-09-25
阅读 1 分钟
1.3k
1、let声明的变量只在命令所在的代码块内有效2、使用let命令声明的变量在解析的过程中不会被预解析(也就是不存在变量提升了)3、使用let命令声明的变量会存在暂时性死区4、不同于var全局变量不再是 window的属性了

面试--js常见面试题

2017-09-24
阅读 3 分钟
2.3k
引用文字 1、delete delete不可以删除变量 只可以删除变量上的属性 2、有名函数被赋值为一个变量 再访问这个 名(有名函数的名)就会报错 {代码...} 会报错 g没有被定义 3、函数的this指向谁 决定于是谁在调用它 {代码...} 4、分组选择符() 值是括号里边的最后一个 {代码...} 5、new一个构造函数 会执行的操作 一个没有...

es6-promise

2017-09-24
阅读 3 分钟
1.4k
Promise可以理解为一个承诺,如果A调用B,B返回一个承诺给A,然后A就可以在写计划的时候这么写,当B返回结果的时候,A就执行方案1,如果B没有返回A要的结果,A就执行方案2。这样一来,所有的潜在风险就都在A的可控范围之内了。promise是es6解决异步编程的一种方案通常使用的promise的有以下方法:1、promise的构造函数 2...

cookie和cookie

2017-09-23
阅读 3 分钟
1.8k
cookie:当你第一次访问某个网站的时候 web服务器会想你发送一小堆数据(cookie) 当你第二次访问这个网站的时候 web服务器就会通过cookie来查看你的身份 并把特定的内容发给你 这样就提供个人化的服务网站。cookie机制:正统的cookie分发是通过http协议实现的 服务器通过在http的响应头上加上一行特殊的指示以提示浏览器按...

玩转git和github

2017-09-18
阅读 2 分钟
2.3k
svn 集成式 多人开发一个项目的时候 需要一个中央服务器 每一个开发人员都要通过中央服务器进行代码的一个获取和代码的一个提交1、当开发人员本地的代码被删的时候 是没有备份的2、中央数据库的代码被删的时候 也是没有备份的git 分布式每一个开发人员都有一个版本控制库 每一个人都可以有版本的操作 也不用担心丢失数据...

css3

2017-09-16
阅读 6 分钟
1.4k
只有第一行才会变为红色E[attr~='value'] 属性对应的值是许多个值 其中包括这个valueE[attr^='value'] 属性对应的值是以value开头的 一个值E[attr$='value'] 属性对应的值是以value结束的 一个值E[attr*='value'] 属性对应的值中包含value字符串包含字母 一个值E[attr|='value'] 属性值是以 value- 开始的结构选择器p:nt...

html5

2017-09-11
阅读 24 分钟
1.8k
语义化标签 input的新属性值 表单的验证 json的新方法 自定义属性 拖放 canvas 地理位置的获取 离线存储 本地存储 audio video

URL资源

2017-09-08
阅读 1 分钟
1.6k
URL的格式 协议://用户:密码 主机 端口 路径 查询 协议: 向服务器获取资源的时候 应该使用什么协议 用户和密码 许多服务器都要求输入用户名和密码 才可以访问服务器的数据 比如说使用ftp协议来向某服务器上传数据的时候,就会用到用户名和密码 主机与端口 主机域名->IP地址 路径 请求的资源在服务器的位置 查询字符...

输入URL到页面加载发生了什么

2017-09-08
阅读 1 分钟
1.3k
1、DSN解析 查找域名对应的ip 会先查询本地的缓存服务器是否存储了 2、TCP连接 TCP的3次握手 3、发送HTTP请求 请求报文 :请求行 首部(请求首部 通用首部 实体首部) 实体 4、服务器处理请求并返回HTTP报文 响应报文:状态码 首部(响应首部 通用首部 实体首部) 实体 5、浏览器渲染页面 首先构建DOM树布局渲染树 reflo...

移动端布局

2017-09-05
阅读 1 分钟
2.2k
浏览器上 用来显示网页的那部分区域了1、设置<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">view 有init-scale 页面的初始缩放值 为数字width viewport的宽度height viewport的高度mininum-scale 允许用户缩放最小值maxinum-scale 允许用户缩放最...

fetch和ajax的区别

2017-09-05
阅读 1 分钟
21.3k
window的一个方法 主要特点是1、第一个参数是URL2、第二个参数可选参数 可以控制不同的init对象3、使用了js 中的promise对象

promise

2017-09-03
阅读 2 分钟
1.5k
1、promise中的状态只有异步操作结果才能改变promise中有3个状态 1、pending 2、resolve 3、rejected状态的改变 1->2 或者1->32、状态一旦改变,就不会再变

面试--将类数组转化为数组

2017-09-02
阅读 1 分钟
4.6k
拥有length属性 也拥有索引 但是没有数组具有的方法。常见的类数组: arguments和DOM的方法返回的结果 class tag的筛选

前端浏览器缓存

2017-08-31
阅读 4 分钟
3.1k
当用户多次访问您的网站,那么静态资源在浏览器的缓存就是非常重要的。可以缓存的静态资源包括css js 图片等资源。状态码:200:当浏览器没有缓存或者用户按下强制刷新的时候 浏览器就会向服务器直接取数据 当服务器正确响应的时候会返回200