关于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签名不匹配,浏览器就会拒绝加载。
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签名不匹配,浏览器就会拒绝加载。
相关文章推荐
- 关于html,servlet、css、js一些总结
- 关于MFC中CDHtmlDialog嵌入flash和调用JS一些技术总结
- 收集关于angular与JS的一些常见问题 总结
- 关于js运动的一些总结
- 关于js的一些总结
- js关于事件的一些总结(系列一)
- 关于嵌入浏览器架构的一些总结和思考
- 关于cometd的一些经验总结-js端
- js-关于性能优化的一些学习总结
- 关于Vue.js的一些总结(1)
- js 关于node节点的一些总结
- 第三方工具 - 关于echarts下钻功能的一些总结.js
- 关于Vue.js的一些总结(2)
- 关于JS解析机制、作用域的一些总结
- 关于页面跳转的一些总结 浏览器对象与页面刷新 -- JAVA web
- 关于js设计模式的一些总结和理解
- 关于js的一些小tip
- 关于在scrum中的一些总结
- java关于日期的一些常用方法总结
- 关于继承及父类引用指向子类的一些总结