
js
青山拂晓
这个作者很懒,什么都没留下…
展开
-
react生命周期
一、initaialization setup props and state 二、Mounting componentWillMount--------render--------componentDidMount三、Updation a.props componentWillReceiveProps--->shouldComponentUpdate-----true--->component...原创 2020-12-15 19:44:18 · 210 阅读 · 0 评论 -
前端一些常见的概念理解
1.vue的双向绑定的原理是什么? vue.js是采用数据劫持结合发布-订阅模式的方式,通过ES5提供Object.defineProperty方法来劫持(监视)各个属性的setter、getter,在数据变动时发布消息给订阅者,触发相应的监听回调。并且,由于是在不同的数据上触发同步,可以精确的将变更发送给绑定的视图,而不是对所有的数据执行一次检测。 具体的步骤: 1.需要observer的数据对象进行递归遍历,包括子属性对象的属性,都加上getter和setter这样的话...原创 2020-10-10 10:47:33 · 245 阅读 · 0 评论 -
exports 、module.exports 和 export 、 export default的差异
1.export和export default 都可以导出 常量、函数、模块、文件。2.export default在一个模块中只能有一个,export可以有多个3.export 导出的内容需要包再{}中接收,export default则不需要4.模块中通过export 导出的(属性或者方法)可以修改,但是通过export default导出的不可以修改。 //model.js let e1='export 1'; let e2='export 2'; ex原创 2020-10-08 11:26:08 · 220 阅读 · 0 评论 -
V8中的垃圾回收机制
1.JavaScript中的垃圾收集 1.程序的运行需要内存,只要程序需要,操作系统就必须提供内存。 2.JavaScript使用自动内存管理,这被称为”垃圾回收机制”(garbage collector) 3. 优点:简化开发,节省代码 4.缺点:无法完整的掌握内存的分配与回收的具体过程1.1.NodeJS中的内存管理 如果不再用到的内存没有及时释放,就叫做内存泄漏 1.2V8内存管理 1.2.1 V8内存限制...原创 2020-07-19 00:41:52 · 743 阅读 · 0 评论 -
web前端安全
1.跨站脚本攻击xss2.跨站请求伪造攻击CSRF3.前端cookies安全性4.点击劫持5.传输过程安全问题6.用户密码泄露7.sql注入攻击8.信息泄露喝社会工程学...原创 2019-12-18 17:13:34 · 212 阅读 · 0 评论 -
Proxy相比于defineProperty的优势
vue3.0 -- 摒弃Object.defineProperty,基于 Proxy 的观察者机制探索写在前面:11月16日早上,Vue.js的作者尤大大在 Vue Toronto 的主题演讲中预演了Vue.js 3.0的一些新特性,其中一个很重要的改变就是Vue3 将使用 ES6的Proxy 作为其观察者机制,取代之前使用的Object.defineProperty。我相信许多同学深有体...转载 2019-08-20 16:08:46 · 2181 阅读 · 0 评论 -
js预编译
js特点 1.单线程语言2.解释性语言在js执行前会扫描一遍代码,看有没有语法错误。然后才进行预编译。函数声明整体提升变量声明提升原创 2019-08-07 10:09:00 · 90 阅读 · 0 评论 -
object.defineproperty方法的理解
1概念:object.defineProperty(obj,prop,descriptor)方法会直接在一个对象上定义一个新的属性,或者修改一个对象的现有属性,并返回这个属性。2.语法参数 Object.defineProperty(obj,prop,descriptor) 参数 obj 要在其上定义属性的对象 prop...原创 2019-07-18 16:06:35 · 198 阅读 · 0 评论 -
关键词new的理解
function fn(){ console.log(this) //Window 严格模式下指向undefied 非严格模式下指向Window}fun()function fn(){ console.log(this) // fn{} }new fn() 1.通过使用new关键词 函数的内部生成一个全新的对象 函数的this指向这个对...原创 2019-05-30 13:27:33 · 191 阅读 · 0 评论 -
js给伪元素添加点击事件的2种方式
在html元素种 我们有可能遇到这样的需求 :如何给伪元素添加点击事件? 经过思考及查找相应的资料后,整理初2种方式,记录一下:一、给元素设置pointer-events:none.然后给伪元素的pointer-events:auto;此时我们把点击元素的事件就取消了 点击伪元素的时候,就可以绑定相应的事件了二、第二种是:通过子元素的事件冒泡原理,在子元素事件处理结束后retur...原创 2019-05-24 15:37:02 · 9496 阅读 · 0 评论 -
js空数组类型比较
1.js空数组是true还是false? var arr = new Array();当一个数组初始化后,即使arr数组中没有元素,也是一个object。typeof arr; //object既然是object 判断时就会被转化为trueBoolean(arr) //true但是如果将arr与布尔值比较:arr == false; //truearr == tru...原创 2019-01-28 11:27:42 · 1004 阅读 · 0 评论 -
原生ajax 查缺补漏
// 创建ajax对象const ajax = new XMLHttpRequest();// 监听状态发生变化/**0~4** 0 初始化状态 ajax对象已经被创建* 1 open方法已经被调用* 2 send的方法已经被调用 * 3 所有的响应 已经收到* 4 http 响应已经完全接收***/ajax.onreadystatechange...原创 2018-12-24 23:25:06 · 109 阅读 · 0 评论 -
javascript浮点计算精度问题
问题描述在 JavaScript 中整数和浮点数都属于 Number 数据类型,所有数字都是以 64 位浮点数形式储存,即便整数也是如此。 所以我们在打印 1.00 这样的浮点数的结果是 1 而非 1.00 。在一些特殊的数值表示中,例如金额,这样看上去有点变扭,但是至少值是正确了。然而要命的是,当浮点数做数学运算的时候,你经常会发现一些问题,举几个例子: JavaScript 代...转载 2018-12-22 08:59:47 · 279 阅读 · 0 评论 -
理解Javascript中的纯函数
最近接到一个电话面试,他在里面问到一个问题,在js中什么是纯函数,我一听懵了,之前没听说过纯函数这个概念,之前赶紧查缺补漏了一下,吸收消化后,理出的一点点见解,记于此处。纯函数1.什么是纯函数? 纯函数是指一个函数的结果依赖他所传入的参数,如果参数不变,返回的结果也就不变,并且这个函数在执行过程中不会产生副作用,那么这个函数就是纯函数。2.要点: a.函数...原创 2018-12-17 23:25:13 · 349 阅读 · 0 评论 -
移动端 问题整理
1解决串口抖动问题: .div-img { overflow:hidden widh:100% height:0 padding-bottom: 图片高度占宽度的比值 background: #ccc }原创 2018-11-20 10:01:42 · 118 阅读 · 0 评论 -
一,typescript环境搭建及编译运行
1.安装node,安装成功后 node -v查看node版本 npm -v 查看npm版本。2.安装typescript包 npm install typescript -g 查看ts版本 tsc --version3.新建一个文件夹,用于存放tsc代码。 通过ctrl+r输入cmd打开dos命令行,打开存放tsc文件的目录,npm init -y生成pac...原创 2018-09-13 17:45:02 · 3668 阅读 · 0 评论 -
js this的理解
this原则: this指的是,调用函数的那个对象。 1.纯粹的函数调用 这是函数的通常用法,属于全局性调用,因此this就代表全局对象Global function test(){ this.x =1; alert(this.x); } test(); 1 为证明thi...转载 2018-05-24 10:07:38 · 241 阅读 · 0 评论 -
ES6 快速掌握
一、在函数参数赋值中 undifined 和 null的区别 在函数调用时,如果参数传入undifined,则取函数默认的值。如果传入null,那么取值则为null (undefine没有设置值,取默认的值。null相当于有值,值为null)二、for ..of的用法 for循环可以写成 for(let item of items){console.log(item)...原创 2018-05-17 17:55:36 · 199 阅读 · 0 评论 -
跨域方法的整理
function demo(){ console.log(data.msg)}前端程序员不可避免的会遇到跨域这个问题,而随着时间的推移,解决跨域问题的方法也是日渐丰富。于是我就稍作整理,来完善自己的知识体系,如恰好也能帮你解决一些问题,那我将非常高兴。方法一:jsonp假设,我们源页面是在a.com,想要获取b.com的数据,我们可以动态插入来源于b.com的脚本:原创 2017-09-14 17:28:49 · 257 阅读 · 0 评论 -
点击元素或div切换该元素的背景图
我们经常需要点击一个容器,改变该容器的背景图。达到这样的效果,我们有很多方法,我在此也总结一个方法,供自己和大家参考。具体如下$(".ccc").addClass('choseicon'); // 初始化时添加背景1 $(".ccc").click(function() { $(this).toggleClass('choseicon').toggleC原创 2017-08-12 16:40:37 · 1010 阅读 · 1 评论 -
时间戳转化为日期的方法
我们经常会用到时间,但有时候我们拿到的数据并不是我们想要的时间格式,这个时候,就需要我们对格式进行一个转换。本篇所要讲的是 如何将时间戳转换为日期。 1.时间戳时间戳是通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用。时间戳具体指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)原创 2017-08-07 19:12:37 · 3589 阅读 · 0 评论 -
三种检测任意对象的类的技术
1.instanceof 运算符2.constructor属性3.构造函数的名字构造函数是类的公共标识,但原型是类的唯一标识一、instanceof运算符var d = new Date();//通过Date()构造函数来创建一个新对象d instanceof Date; //计算结果为true,d是由Date()创建的d instanceof Object; //原创 2017-06-14 19:16:10 · 403 阅读 · 0 评论