您的位置:首页 > Web前端 > JavaScript

关于JS和浏览器的一些总结

2017-12-09 11:47 375 查看
JS动态语言特性:

JS是解释性语言,不能被编译成二进制文件

JS闭包:

变量可以是全局变量或局部变量,私有变量可以使用闭包

JS内嵌函数 所有函数都能访问它们上一层的作用域

闭包例子:

var add = (function () {

var counter = 0;

return function () {return counter += 1;}

})();

add();

add();

add();// 计数器为 3

JS语言的特性

一切皆对象,在运行时可以改变其结构的语言

动态性:即用即赋值

弱类型:数据类型无需在声明时指定。一个变量可以很大程度的进行复用。

应用范围:

客户端:使WEB页面更加生动,AJAX无刷新使用页面内容,其他的一些框架。

服务端 :Google的JavaScript引擎V8,基于V8的引擎Node.js

动态网页的特性:

一般以数据库技术为基础

静态网页:页面代码生成后,页面的内容和效果基本不会发生变化,除非修改页面代码。

动态网页:页面代码虽然没有变,但是显示的内容随时间环境或数据库操作的结果发生改变。

不能将动态网页和页面内容是否有动感混淆。

凡是结合了HTML以外的高级程序设计语言和数据库
4000
技术进行的网页编程技术生成的网页都是动态网页。

浏览器核心:渲染引擎和JavaScript解释器(JS引擎)

渲染引擎:从代码—>可感知的平面文档

四个阶段:并非严格按照顺序执行

解析代码: HTML代码解析为DOM,CSS代码解析为CSSOM

对象合成:将DOM和CSSOM合成一棵渲染树

布局:计算出渲染树的布局

绘制:将渲染树绘制到屏幕

JavaScript引擎:读取网页中的JavaScript代码,对其处理后运行

JavaScript代码只有嵌入网页,才能运行

标签有一个type属性,用来指定脚本类型
默认值:text / javascript
较新的浏览器建议使用:application / javascript
标签有一个integrity属性,指定了外部脚本/assets/application.js的SHA265签名。
一旦有人改了这个脚本,导致SHA265签名不匹配,浏览器就会拒绝加载。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript