前端常见考试知识点笔记

原始类型:undefined与null的区别

Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。
Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。

		var a;
		console.log(a) //  undefined
		console.log(null == document.getElementById('notExistElement')); // true

		console.log(null === undefined); // false 
		console.log(null == undefined);  // true

		console.log(typeof null == typeof undefined); // false 

== 与 ===

”==”与”===”是不同的,一个是判断值是否相等,一个是判断值及类型是否完全相等。

浏览器内核

一、Trident内核代表产品Internet Explorer,又称其为IE内核。Trident(又称为MSHTML),是微软开发的一种排版引擎。使用Trident渲染引擎的浏览器包括:IE、傲游、世界之窗浏览器、Avant、腾讯TT、Netscape 8、NetCaptor、Sleipnir、GOSURF、GreenBrowser和KKman等。 

二、Gecko内核代表作品Mozilla Firefox,Gecko是一套开放源代码的、以C++编写的网页排版引擎。Gecko是最流行的排版引擎之一,仅次于Trident。使用它的最著名浏览器有Firefox、Netscape6至9。 

三、WebKit内核代表作品Safari、Chrome,webkit 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件,主要用于Mac OS系统,它的特点在于源码结构清晰、渲染速度极快。缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。主要代表作品有Safari和Google的浏览器Chrome。 4

四、Presto内核代表作品OperaPresto是由Opera Software开发的浏览器排版引擎,供Opera 7.0及以上使用。它取代了旧版Opera 4至6版本使用的Elektra排版引擎,包括加入动态功能,例如网页或其部分可随着DOM及Script语法的事件而重新排版。

DHTML实现的功能

网页从Web服务器下载后无需再经过服务的处理,而在浏览器中直接动态地更新网页的内容、排版样式和动画的功能。例如,当鼠标指针移到文章段落中时,段落能够变成蓝色,或者当鼠标指针移到一个超级链接上时,会自动生成一个下拉式子链接目录等。

包括:

    ①动态内容(Dynamic Content):动态地更新网页内容,可“动态”地插入、修改或删除网页的元件,如文字、图像、标记等。

    ②动态排版样式(Dynamic Style Sheets):W3C的CSS样式表提供了设定HTML标记的字体大小、字形、样式、粗细、文字颜色、行高度、加底线或加中间横线、缩排、与边缘距离、靠左右或置中、背景图片或颜色等排版功能,而“动态排版样式”即可以“动态”地改变排版样式。

JavaScript的全局函数

JavaScript 中包含以下 7 个全局函数,用于完成一些常用的功能(以后的章节中可能会用到):

escape( )、eval_r( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )。

关于promise的catch和.then

Promise构造器的prototype上还有两个方法,分别是then和catch。这两个方法的参数也是回调函数,这些函数会在Promise实例进入不同状态后被调用。Then对应到resolve,catch对应到reject

关于http与https

http是超文本传输协议,是一个客户端和服务器端的请求和应答的一种标准,基于tcp,http传输是明文的

HTTPS:HTTPS是基于http的基础之上加了ssl层,是一种以安全为目标的http的通道,需要sa认证,成本较高

http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

什么是ssl?百度百科是这么讲的

HTTPS的工作原理

客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤。

客户使用https url访问服务器,则要求web 服务器建立ssl链接。

web服务器接收到客户端的请求之后,会将网站的证书(证书中包含了公钥),返回或者说传输给客户端。

客户端和web服务器端开始协商SSL链接的安全等级,也就是加密等级。

客户端浏览器通过双方协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。

web服务器通过自己的私钥解密出会话密钥。

web服务器通过会话密钥加密与客户端之间的通信。

HTTPS的优缺点

 

https协议的优点

使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

https协议的缺点

https握手阶段比较费时,会使页面加载时间延长50%,增加10%~20%的耗电。

https缓存不如http高效,会增加数据开销。

SSL证书也需要钱,功能越强大的证书费用越高。

SSL证书需要绑定IP,不能再同一个ip上绑定多个域名,ipv4资源支持不了这种消耗。

什么是三次握手

这是一个建立连接的过程。

1、客户端c向服务器s发起请求,服务器端确认

2、服务器s端应答客户端c,客户端c确认

3、客户端与服务器端建立链接,c可收到数据

TCP和UDP的区别

 TCP 是面向连接的可靠传输,在连接之前要先进性三次握手,确保连接双方搭建的通路是正确的,并且传输的数据不丢失、不重复、按顺序到达。1对1

UDP是面向无连接的不可靠传输,不需要进行建立通路,尽可能最大限度的努力传输,不保证数据的完成性,其速度较快,同时可以1对1,1对多

几个很实用的BOM属性对象方法?

Bom是浏览器对象。有三个对象location、history、Navigator

location:里面有很多方法。一般是对URL的操作

location.href-- 返回或设置当前文档的URL
location.search -- 返回URL中的查询字符串部分。例如 http://www.dreamdu.com/dreamdu.php?id=5&name=dreamdu 返回包括(?)后面的内容?id=5&name=dreamdu
location.hash -- 返回URL#后面的内容,如果没有#,返回空
location.host -- 返回URL中的域名部分,例如www.dreamdu.com
location.hostname -- 返回URL中的主域名部分,例如dreamdu.com
location.pathname -- 返回URL的域名后的部分。例如 http://www.dreamdu.com/xhtml/ 返回/xhtml/
location.port -- 返回URL中的端口部分。例如 http://www.dreamdu.com:8080/xhtml/ 返回8080
location.protocol -- 返回URL中的协议部分。例如 http://www.dreamdu.com:8080/xhtml/ 返回(//)前面的内容http:
location.assign -- 设置当前文档的URL
location.replace() -- 设置当前文档的URL,并且在history对象的地址列表中移除这个URL location.replace(url);
location.reload() -- 重载当前页面

history: 有三个方法。记录页面

history.go() -- 前进或后退指定的页面数 history.go(num);
history.back() -- 后退一页
history.forward() -- 前进一页

Navigator:一般是浏览器的一些信息

navigator.userAgent -- 返回用户代理头的字符串表示(就是包括浏览器版本信息等的字符串)
navigator.cookieEnabled -- 返回浏览器是否支持(启用)cookie

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章