对前端开发知识的一些梳理,主要参考前端开发面试题及对它的补充,持续完善…
基本数据类型
Undefined、Null、Boolean、Number、String、Symbol(ES6)
内置对象
Object 是 JavaScript 中所有对象的父对象
数据封装类对象:Object、Array、Boolean、Number 和 String
其他对象:Function、Arguments、Math、Date、RegExp、Error
对前端开发知识的一些梳理,主要参考前端开发面试题及对它的补充,持续完善…
Undefined、Null、Boolean、Number、String、Symbol(ES6)
Object 是 JavaScript 中所有对象的父对象
数据封装类对象:Object、Array、Boolean、Number 和 String
其他对象:Function、Arguments、Math、Date、RegExp、Error
在 CSS2.1 中,很多框的定位和尺寸的计算,都取决于一个矩形的边界,这个矩形,被称作是包含块( containing block )。 一般来说,(元素)生成的框会扮演它子孙元素包含块的角色,我们称之为:一个(元素的)框为它的子孙节点建造了包含块。包含块是一个相对的概念。
在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件
为了让web应用程序在离线状态下也能正常工作,就必须把构成web应用程序的资源文件,如HTML、CSS、JS脚本文件等放在本地缓存中,当服务器没有和Interne连接时,也可以利用本地缓存中的资源文件来正常运行web程序。
有这样一个场景,A访问了一个网站,登录后,打开第二个标签页并注销登录,那么第一个标签页应该先判断A是否注销,然后做相应改变。这就涉及到多标签页之间如何通讯
有以下几种方法:
localstorage
不论其中的哪一项在另一个浏览上下文里被添加、修改或删除时,它都会触发一个事件。实际上,这就意味着不论在哪个浏览器的标签页里访问了 localStorage,所有其它的标签页都能通过 window 对象监听到这个事件
1 | window.addEventListener('storage', function (event) { |
不论某个标签页在何时修改了 localStorage,都会对其余的所有标签触发事件。这就意味着我们只要为 localStorage 赋值,就能够跨浏览器标签通信了。
不过,一些浏览器的仍然存在着 quirks,譬如无痕模式下的 Safari 在设置值时会抛出 QuotaExceededError 的异常,有某些浏览器不支持开箱即用的 JSON,可以使用bevacqua local-storage
iframe:一个普通的html元素,可以通过css设置样式,是一个inline-block元素
iframe 的页面和父页面(parent)是分开的,所以它意味着,这是一个独立的区域,不受 parent 的 CSS 或者全局的 JavaScript 的影响,在一定程度上,类似于沙箱隔离(sandbox)。