JavaScript
一些JavaScript学习道路上的总结
代码写的完嘛
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
前端安全性
XSS攻击存储型XSS反射型XSSDOM型XSS原创 2020-03-12 12:39:08 · 189 阅读 · 0 评论 -
前端性能优化
如何做到前端性能优化减少HTTP请求合理设置浏览器的缓存合并CSS的图片(CSS雪碧图/精灵图)优化加载资源使用CDN优化静态资源静态资源合并压缩前端资源打包使用webpack等打包工具将Js文件、CSS文件进行打包处理渲染优化CSS放在head区,Js放在body后减少DOM操作,添加事件委托。事件节流图片懒加载不使用iframe...原创 2020-03-05 22:02:38 · 374 阅读 · 0 评论 -
跨域
同源策略浏览器处于安全考虑,只允许相同协议,相同域名,相同端口之间的进程才能发起Ajax请求。CORSCross-Origin-Resourse-Sharing跨域资源共享JSONP填充式JSON利用<script>没有同源策略的限制,通过<script>指向要访问的地址,并提供回调函数来接受通讯。Nginx代理H5新增PostMessagedocume...原创 2020-03-05 10:41:22 · 214 阅读 · 0 评论 -
一些Js的手写
手写Object.create()原创 2020-03-03 21:44:07 · 268 阅读 · 0 评论 -
Js的的运行机制
Js单线程浏览器脚本语言,用于和用户互动,操作DOM。若是多线程将会复杂,一个DOM节点写入,另一个删除,将会产生混乱。Js单线程实现异步Js异步的原因,防止"卡住"同步与异步的例子console.log(1)setTimeout(()=>{console.log(2)})console.log(3)//1,3,2其中setTimeout()也就是异步代码常见的异...原创 2020-03-02 22:33:44 · 335 阅读 · 0 评论 -
Js一些问题
async和defer的区别都是<script>的可选属性,针对外部脚本纯<script>渲染DOM树时阻塞,等script加载完成和执行后继续渲染async异步加载,加载完成后立即执行defer异步加载,加载完成后不立即执行,等DOM渲染完成后执行常见数组API判断数组类型isArray(),instanceof,Object.prototyp...原创 2020-03-02 17:58:07 · 131 阅读 · 0 评论 -
DOM的重绘和重排
为什么操作DOM速度慢浏览器中JavaScript和DOM分开执行Chrome中Js由V8引擎执行,DOM由Webkit内核的WebCore渲染Safari中Js由JavaScriptCore渲染,DOM由Webkit内核的WebCore渲染回流一定重绘,重绘不一定回流回流浏览器流式布局,DOM节点树形结构,一个节点改变,整个DOM结构重新计算,引发回流。触发条件:首次渲染改变...原创 2020-03-01 21:34:28 · 578 阅读 · 0 评论 -
区分bind,apply,call
JavaScript的this指向Js,函数的调用方式决定this的值function f1(){ console.log(this)}f1() // windowbind,apply,call可以更改this的指向call()call()第一个参数是指向的对象,当为null或undefined时指向window;第二个是传递的参数(任意类型)function f1(){ c...原创 2020-02-29 22:46:12 · 105 阅读 · 0 评论 -
JavaScript变量与函数
全局变量的声明全局变量的声明var声明全局变量在函数体外部使用var声明全局变量,在函数体内部使用var声明的为局部变量。var age= 5//全局变量function test(){ var myAge = 1;//局部变量}直接声明不使用var的变量,无论位置在何处均为全局变量age = 5//全局变量function test(){ myAge = 1...原创 2020-02-29 17:51:33 · 183 阅读 · 0 评论 -
Js中的垃圾回收
Js垃圾回收概念:找出不在继续使用的变量,释放其内存,避免内存泄露。垃圾的解读:不被引用的变量以及引用成环的变量标记清除将内存中所有变量标记,去掉环境中的变量及被环境中变量引用的标记,然后清除所有标记的变量。标记的方式:特殊位反转/维护变量列表引用计数跟踪变量的引用次数,声明变量+1,将变量赋给引用类型+1,取其他值则-1.当引用次数为0时,清除。弊端,循环引用无法解...原创 2020-02-29 15:48:25 · 184 阅读 · 0 评论 -
Js如何遍历一个对象
遍历自身可枚举的属性for in可遍历自身可枚举的属性以及继承得到的属性Object.keys(),Object.values(),Object.entries(),遍历自身可枚举的,只属于自身(非继承)的来的属性,数值,和键值对。传统for in 和 for of遍历区别:for of遍历对象的实际值,for in遍历对象的可枚举属性ES6新增迭代器iterable,拥有next...原创 2020-02-26 19:16:04 · 883 阅读 · 0 评论 -
Js面向对象
Js中通过new创建一个对象时发生了什么创建一个新的对象将构造函数的作用赋给创建的新对象(将this指向新对象)执行构造函数中的代码,为新创建的对象赋属性和方法返回创建的对象...原创 2020-02-26 18:05:33 · 146 阅读 · 0 评论 -
JavaScript中的堆和栈
前言上一篇文章中谈了谈JavaScript中基本数据类型和引用类型的区别。下面从操作系统的内存角度理解基本数据类型和引用类型在操作系统堆和栈中存放的差别。堆和栈堆内存堆内存动态变化,内存大小不一,不会自动释放。JavaScript中,引用类型Object,Array,RegExp,Data等或通过new运算符得到的变量,其实际数值等存储在堆中。但引用的地址指针存储在栈中。在获取引用类...原创 2020-02-24 20:35:13 · 179 阅读 · 0 评论 -
关于JavaScript的数据类型
基本数据类型Undefined声明后并未赋值的变量为undefinedtypeof未声明的变量同样返回undefinedNullundefined派生自null因此null == undefinedBoolean只有两个字面值true和falseNumberJs使用IEE754双精度记录浮点数,只保留小数点后17位。因此0.1+0.2==0.3 ;//falseN...原创 2020-02-24 19:00:33 · 114 阅读 · 0 评论
分享