yelin1994

Results 25 comments of yelin1994

## 数组扁平化 * 采用递归的方式 ``` function arrSet(arr) { function mySet(a) { if (Object.prototype.toString.call(a) === '[object Array]') { const length = a.length for (let i = 0; i < length; i++...

## 寄生式继承 ``` function Dog (obj) { function Animal () {} Animal.prototype = obj return new Animal() } const obj = { name: 'animal', age: [12, 13, 132] } function...

## 原型链继承 eg: ``` function Animal () { this.type =['origin'] } Animal.prototype.tellOrigin = function () { console.log(this.type) } Animal.prototype.setOrigin = function (type) { this.type.push(type) } function Dog () { this.ownType...

### 执行上下文栈 是由Javascript引擎所创建来管理执行上下文(每个执行文都包含三个重要属性,变量对象Ov,作用域链, this) 比如有以下脚本 ``` function a () { console.log('a') } function b () { console.log('b') a() } function c () { console.log('c') b() } c() ``` 每执行一个函数,都会创建一个上下文,当执行以上代码时,执行栈事先会先把全局执行上下文压入栈中,再把函数c的执行上下文push进去,再push b的上下文,再push...

## XSS ### 定义 跨站脚本,是发生在目标用户的浏览器层面,当渲染DOM树的过程中发生了不在预期内执行的JS代码事,XSS就发生了。 XSS 有以下一些危害 * 挂马 * 盗取用户Cookie * 钓鱼攻击,高级的钓鱼技巧 * 删除目标文章,恶意篡改数据,劫持web行为,渗透内网,爆发web2.0蠕虫等 --- ### 分类 主要有三类: 反射型XSS,存储型XSS, DOM XSS. * **反射型XSS** 也叫非持久型XSS,是指发生请求时, XSS代码出现在请求的URL中,作为参数提交到服务器,服务器解析并响应。响应结果中包含XSS代码,最后浏览器解析并执行。 * **存储型XSS** 服务器解析并响应。响应结果中包含XSS代码,最后浏览器解析并执行。最典型的例子是留言板XSS,用户提交一条包含XSS代码的留言存储到数据库,目标用户查看留言板时,那些留言的内容会从数据库查询出来并显示,浏览器发现有XSS代码,就当做正常的HTML与Js解析执行,于是触发了XSS攻击。 *...