一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。varn=999;fun...
标记清除(markandsweep)从语义上理解就比较好理解了,大概就是当变量进入到某个环境中的时候就把这个变量标记一下,比如标记为“进入环境”,当离开的时候就把这个变量的标记给清除掉,比如是“离开环境”。而在这后面还有标记的变量...
步骤将字符串转化数组创建一个对象遍历数组,判断对象中是否存在数组中的值,如果存在值+1,不存在赋值为1定义两个变量存储字符值,字符出现的字数varstr=&039;abaasdffggghhjjkkgfddsssss3444...
总结一下,一个异步过程通常是这样的:主线程发起一个异步请求,相应的工作线程接收请求并告知主线程已收到(异步函数返回);主线程可以继续执行后面的代码,同时工作线程执行异步任务;工作线程完成工作后,通知主线程;主线程收到通知后,执行一定的...
call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有ca...
this是Javascript语言的一个关键字。它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。情...
怎么利用call、apply来求一个数组中最大或者最小值?如何利用call、apply来做继承?apply、call、bind的区别和主要应用场景?call跟apply的用法几乎一样,唯一的不同就是传递的参数不同...
width是相对于直接父元素的widthheight是相对于直接父元素的heightpadding是相对于直接父元素的widthmargin是相对于直接父元素的margin<style>wrapp...
渐进增强progressiveenhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。优雅降级gracefuldegradation:一开始...
一、rem的特点rem的大小是根据html根目录下的字体大小进行计算的。当我们改变根目录下的字体大小的时候,下面字体都改变。rem不仅可以设置字体的大小,也可以设置元素宽、高等属性。rem是CSS3新增的一个相对单位...
1、标准浏览器的方法当然,以不折腾人为标准的w3c标准早就为我们提供了制作这种自适应宽度的标准方法。把container设为display:table并指定宽度100%;然后把main+sidebar设为di...
BFC规定了内部的BlockBox如何布局。定位方案:内部的Box会在垂直方向上一个接一个放置。Box垂直方向的距离由margin决定,属于同一个BFC的两个相邻Box的margin会发生重叠。每个元素的...
何时应当使用margin需要在border外侧添加空白时。空白处不需要背景(色)时。上下相连的两个盒子之间的空白,需要相互抵消时。如15px+20px的margin,将得到20px的空白。何时应当使用paddi...
Canvas是基于像素的即时模式图形系统,最适合较小的表面或较大数量的对象,Canvas不支持鼠标键盘等事件。SVG是基于形状的保留模式图形系统,更加适合较大的表面或较小数量的对象。Canvas和SVG在修改方式上还存在着...
无论属于哪种,都要先找到其祖先元素中最近的position值不为static的元素,然后再判断:若此元素为inline元素,则containingblock为能够包含这个元素生成的第一个和最后一个inlinebo...