lovelycarrot
lovelycarrot
**浏览器的事件代理机制是以浏览器的事件流为基础的.** 事件流分为: 1.捕获阶段 2.目标阶段 3.冒泡阶段. 捕获阶段是从父元素到目标元素,冒泡阶段是目标元素到父元素. 当要对一系列的元素都添加响应事件时,可以只给父元素添加响应事件,然后利用事件冒泡对事件作出响应.
JavaScript采用词法作用域,即函数能访问的作用域是定义它的时候就决定了. **定义** 闭包就是在函数内部在定义一个函数,因为是词法作用域,所以闭包函数可以访问定义时的函数内部的变量.当闭包函数在任意位置执行时都可以访问外层函数内部的变量.使变量可以常驻内存.\ **作用:** - 封装私有变量 - 实现模块化 - 块级作用域
**方式一 Set去重** ``` function unique (arr) { //return [...new Set(arr)]; return Array.from(new Set(arr)); } ``` **方式二 indexOf** ``` function unique (arr) { const temp = []; for (let i =...
### 什么事XSS? XSS(跨站脚本攻击),它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。 ### XSS攻击的分类 1.非持久型攻击: 非持久型xss攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,从而达到攻击目的。 2.持久型攻击: 持久型xss,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在 **也可以分成三类:** 1. 反射型:经过后端,不经过数据库 2. 存储型:经过后端,经过数据库 3. DOM:不经过后端,DOM—based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞,dom - xss是通过url传入参数去控制触发的。 ### 如何防范 将用户输入的可能产生XSS攻击的尖括号,引号等进行转义(不要相信任何用户的输入,都要验证或转义)