使用JavaScript
已经好几年了,因为工做主要是作服务端开发,在工做中逐渐发现JavaScript
的使用范围原来越普遍。在以前的几个项目中,公司配备了一个设计和一个前端,前端人员只会切图和排版,稍微复杂一点的功能仍是的咱们本身来,毕竟是要和后端交互,因此这个仍是迈步过去的关口。以前只是在每次须要使用JavaScript
的时候去粗略的学习了一下,基本能完成全部的工做需求。不会的地方在github
上面找一些案例修改一下也能完美的运行。
今天,JavaScript
已经到了不起不学的地步,从前用户交互到UI框架,以及今天很是流行的VUE
,jQuery
,React
,nodejs
,H5游戏
,APP
等等,JavaScript
的身影已经无处不在,因此咱们有必要抽时间来系统的梳理一遍。
对于已经掌握一两门开发语言的同窗都知道,学习任何一门语言不外乎学习这几个大类:javascript
咱们根据上面的学习思路来整理和总结JavaScript
从最基础到类库框架的使用和开发,以及一些该语言的编程思路,算法和技巧。在这里咱们必定要注意一点,基础知识很关键。在这个浮躁的时代,人人都想着快速挣钱。不少人都是静不下心来进行一个系统的学习,认为我用到哪里就去看哪里。虽然JavaScript
入门是很是容易,后端的同窗花一天时间过一遍就能开始写出一些简单的功能。可是想要精通非数年不可及也。你们必定要相信一点,在前端几百万从业人群里面,真正技术拿得出手的真的不超过15%。我带过不少徒弟也招过新人入职,在中国的就业竞争压力下,人人都想着速成,看到某个行业火热,就想一股脑挤进去,学习编程若是不是兴趣驱动,不少人都是没有办法坚持到最后的。html
ECMAScript
是JavaScript
的标准规范,咱们在编写程序的时候一定要按照这个规范来操做。到目前为止,已经发展到ES6和ES7了,每一次的版本升级都会产生一些新的支持和规范和浏览器的兼容解决方案。前端
咱们的学习和续文按照如下流程来进行总结,从而创建一个系统化的知识体系。这里要注意,务必将基础部分掌握牢靠,磨刀不误砍柴功,只有将基础部分掌握并创建起系统的知识体系,在后面学习JavaScript
衍生的其余模式才能游刃有余。在学习JavaScript
以前请务必先系统的学习好HTML
和CSS
知识。java
学习JavaScript
主要是学习如下几个方面:node
你们在这里应该明白了,ECMAScript
实际上是JavaScript
的子集,咱们所说的JavaScript
实际上是在Web浏览器这个宿主环境上,JavaScript
包含了基本的核心,也就是ECMAScript
来标准化基本的语法,咱们的宿主环境在web浏览器,因此在ECMAScript
的基础上有添加了和浏览器进行交互的扩展BOM
和对文档节点交互的DOM
。不光在JavaScript
里面才有ECMAScript
,好比你们耳熟能详的Node和Adobe Flash,因此ECMAScript
并非参照web浏览器的,JavaScript
实现了ECMAScript
,Adobe ActionScript一样也实现了ECMAScript
。git
ECMAScript
主要规定了如下几个方面的内容的描述:github
文档对象模型(DOM)是针对XML但通过扩展于HTML
的应用程序编程接口。DOM
把整个页面映射为一个多层节点结构。HTML
或XML
页面中的每一个组成部分都是某种类型的节点,这些节点又包含着不一样类型的数据。在DOM
中,这个页面经过分层节点(元素),经过DOM
建立表示文档的树形图,开发人员得到了控制页面内容和结构的主动权。借助DOM
提供的API
,开发人员能够轻松自如的删除、添加、替换或修改任何节点。
浏览器对象模型(BOM),开发人员使用BOM
能够控制浏览器显示的页面之外的部分,可是它做为JavaScript
实现的一部分去没有相关的标准。这个问题在HTML5
中获得了解决,HTML5
致力于把不少的BOM
功能写入正是规范。从根本上将,BOM
只处理浏览器窗口和框架,但人们习惯上也把全部针对浏览器的JavaScript
扩展算做BOM
的一部分,如下就是这样的扩展:web
因为没有BOM
标准能够遵循,所以每一个浏览器都有本身的实现。正则表达式
// 引入外部脚本 <script type="text/javascript“ src="example.js></script> // 执行代码段 <script> // 代码段 </script>
javaScript
代码能够放在head
标签内,可是因为JavaScript
解析器是自上而下来执行代码的,因此若是你在head
里面写的JavaScript
代码里面包含获取元素节点,回致使找不到节点而出错,咱们可使用window.onload = function(){代码段}
来让整个文档解析完成之后再执行JavaScript
代码。最好的办法就是将外部脚本引入和内部代码都写到</body>标签先后是最好的办法。固然,咱们除了直接引入外部脚本之外,还能够动态的从后端来获取JavaScript
执行代码和须要的Json
数据。好比咱们在开发游戏的时候,对游戏的每一个玩法能够进行动态的预加载,在后端来获取游戏的配置信息,而后做为响应数据响应给前台浏览器,来初始化游戏界面。算法
字符串
数字
布尔值
数组
对象
运算符
条件操做符
逻辑运算符号
if else
do while
while
switch
for
for in
label
break 和 continue
with
内置函数
自定义函数
匿名函数
没有重载
做用域链
函数做用域
堆内存和占内存
引用计数和标记清除
使用对象
数组对象的方法运用
字符串的方法运用
建立和操做数组
理解JavaScript类型
日期类型
正则表达式
function类型
基本包装类型
定时器相关
未完待续....