
js
zhghxy94
菜鸟
展开
-
leetcode 31. 下一个排列
实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只允许使用额外常数空间。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/next-permutation著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路:要将左侧的一个较小数和右侧的一个较大数交换,这个较小数的位置要尽量靠右,较大数要.原创 2021-04-13 15:42:04 · 222 阅读 · 0 评论 -
浅谈前端安全
1@TOC面试被问到了前端安全方面的,然后一问三不知,现在先总结一下概念性的吧。XSS攻击什么是XSSXSS全称跨站脚本攻击,是指恶意的web用户将代码植入到网站提供给其他用户使用的页面中,使得在渲染页面时执行了预期外的代码。XSS的攻击方式反射型攻击将XSS代码作为url的参数提交给服务器,服务器返回的响应中包含该XSS代码,浏览器解析执行该代码。举个例子,通过这种方式可以获...原创 2019-03-05 19:52:53 · 213 阅读 · 0 评论 -
JS异步机制
JS异步机制主线程、执行栈、任务队列主线程不断读取执行栈中的同步事件,直到执行栈空异步任务结束放入任务队列,执行栈空时主线程读取任务队列任务队列读取完毕,回到步骤1宏任务与微任务宏任务:script(整体代码)、setTimeout、setInterval、UI 渲染、 I/O、postMessage、 MessageChannel、setImmediate(Node.js 环境)...原创 2018-09-26 21:33:23 · 411 阅读 · 0 评论 -
深浅拷贝
深浅拷贝javascript中的数据类型基本类型:undefined,null,Boolean,Number,String,Symbol 保存在栈中,不可改变,复制时是创建副本给变量引用类型:Object,Array,Function,Date,RegExp 保存在堆中,栈中保存的是指向其堆中存储空间的指针,复制时在栈中创建新的空间复制指针的值赋值、深浅拷贝赋...原创 2018-08-10 10:39:54 · 140 阅读 · 0 评论 -
JS高级语言程序设计笔记——DOM之Element类型
所有的HTML元素都由HTMLElement类型表示,HTMLElement类型继承自Element并添加了一些属性,包括:idtitledirlangclassName操作特性操作特性的三个方法getAttribute();setAttribute();removeAttribute();这三个方法可操作所有特性,包括之前提到的5个属性以及自定义特性; 但是自定...原创 2018-03-04 21:36:36 · 182 阅读 · 0 评论 -
函数上下文与闭包
作用域链作用域链的查找过程中有两个方向本身的作业域链作用域链中对象的原型链优先查找原型链闭包 闭包是一系列代码块(在ECMAScript中是函数),并且静态保存所有父级的作用域。通过这些保存的作用域来搜寻到函数中的自由变量。函数在定义时,将外部上下文的变量保存在[[scope]]属性中,且不再改变,这就是静态作用域;如果多个函数共用同一个外部上下文,则他们...原创 2018-03-11 09:38:18 · 196 阅读 · 0 评论 -
JS中的变量声明——var,let,const的区别
简述var 作用域:函数;可以重新分配;可以修改;同一作用域可以重复声明let 作用域:块级;可以重新分配;可以修改;同一作用域不能重复声明const 作用域:块级;不能重新分配;可以修改;同一作业域不能重复声明原创 2017-11-04 17:25:37 · 555 阅读 · 0 评论 -
jQuery中AJAX的跨域解决方案
jQuery中封装了ajax的方法,以下主要讨论在这种方法下跨域的问题1. 在服务端添加响应头 header('Access-Control-Allow-Origin', '*') header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')原创 2017-10-31 15:31:15 · 437 阅读 · 0 评论 -
js高级语言程序设计笔记——创建对象
工厂模式通过封装一个函数来创建对象,所有的对象都是相同的,缺点是无法赋予一个对象特定的类型构造函数模式原型模式原创 2017-10-03 14:29:41 · 306 阅读 · 0 评论