JS的相关知识和会遇见的问题

什么是js

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。

问题小结

1.js里哪些操作会造成内存泄漏

(1)在函数中定义全局变量
(2)闭包。闭包可以维持函数内局部变量,使其得不到释放。
(3)删除元素却没有清除DOM元素引用
(4)被遗忘的定时器或者回调
(5)子元素存在引用引起的内存泄漏
附:什么是内存泄漏
	内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。

2.js里什么是垃圾回收机制

找出不再使用的变量,然后释放掉其占用的内存,但是这个过程不是实时的,因为其开销比较大,所以垃圾回收系统(GC)会按照固定的时间间隔,周期性的执行。
两种方法:1.标记清除   2.引用计数

3.js延迟加载都有哪些方式

JS延迟加载,也就是等页面加载完成之后再加载 JavaScript 文件。
1.script标签中加入defer属性
2.script标签中加入async属性
3.动态创建dom的方法
4.使用jQuery的getScript方法
5.setTimeout
6.最后 引入js

4.js缓存的三种方法及区别与特点

H5本地存储:sessionStorage:临时的会话存储,只要当前的会话窗口未关闭,存储的信息就不会丢失,即便刷新了页面或者在编辑器中更改了代码,存储的会话信息也不会丢失。localStorage是一种永久存储,会一直将数据存储在客户端的储存方式,即使关闭了浏览器,下次打开的时候仍然可以看到之前存储的未主动清除的数据(即便是杀毒软件或者浏览器自带的清除功能,也不能将localStorage存储的数据清除掉)
Cookie:Cookie是存储在用户计算机上的小文件,保存特定客户端和网站的适量数据,并可以由Web服务器或客户端浏览器访问,允许服务器提供针对特定用户定制的页面,或者页面本身可以包含一些知道cookie中的数据的脚本。
cookie和H5本地存储的区别
(1).cookie兼容所有的浏览器(本地cookie谷歌不支持),storage不支持IE6~8;
(2).二者对存储的内容均有大小限制,前者同源情况写一般不能存储4kb的内容,后者同源一般能存储只能存储5MB的数据
(3).cookie有过期时间,localStorage是永久存储(如果你不手动去删除的话)
(4).一些浏览器处于安全的角度可能会禁用cookie,但无法禁用localStorage

5.cookie有什么弊端

cookie兼容所有的浏览器,但其存储的数据是有大小限制的,一般同源是4kb;cookie本地存储的数据会被发送到服务器(所以建议在服务器环境下使用cookie);存在跨域访问问题;浪费带宽等等;

6.怎么阻止冒泡和浏览器默认事件

标准浏览器:  阻止冒泡e.stopPropagation() 阻止默认事件e.preventDefault()
ie浏览器:    阻止冒泡e.cancleBubble=true 阻止默认事件e.returnValue = fasle;

7.前端调试bug都有哪些方法

断点调试
console.log调试
检测dom事件执行顺序
打开控制台CSS调试

8.Js中如何处理同步和异步的

同步的话代码依次执行,异步的处理方式有:(1)回调函数 (2)promise (3)Generator (4)Async/await (5)定时器函数 (6)ajax等

以上就是js的小部分问题已经回答,希望这些小知识对你们有些帮助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值