图解javascript犀牛书-chapter1
javascirpt是什么?
-
一种用于Web的高级编程语言
-
一种非类型定义的动态的语言
-
一种解释型脚本语言
-
一种面相对象的函数式编程语言
是的,js就是一门编程语言,是一门用在web中的脚本语言。有了他,网页得以从静态变为动态,具有更多的功能。举个栗子:你可以点击网页上一个按钮,通常情况下,它会给你一个反馈(“Oh,you clicked me,有啥事啊~”)。js可以构建大型的Web应用,使得网站像早期的桌面应用一样,具有强大丰富的功能。
我们都需要小伙伴,没有人是孤立的存在。当然js也是,它的两个好朋友当然是HTML 和 CSS 啦。他们三个通力合作,构建出了网络世界中一个又一个精彩的城市。
屏幕快照 2016-11-26 下午4.13.38.png我们用建造城市来比喻,城市由一栋栋的建筑组成,HTML负责搭建房子的结构,建筑师一枚;CSS负责给房子贴砖粉刷装饰,设计师一枚;JS负责给房子增加功能(比如,拍下手,灯亮了),这么厉害,神一样的存在啊,叫你程序猿好了😄。
这里,我们主要介绍js。
一、History
这里简单深度拓展一下,扒一扒js的成长轨迹:
创建:
JavaScript是在Web的早期在Netscape中创建的,而且技术上,“Java Script”是Sun Microsystems(现在的Oracle)授权的商标,用于描述Netscape的(现在的Mozilla的)语言实现。
名字:
Netscape将JavaScript作为一个草案提交给欧洲计算机制造商协会(ECMA)。由于商标问题,语言的标准化版本有了一个尴尬的名字“ECMAScript”。
版本:
ES3
过去的十几年间,所有的浏览器几乎都实现了ECMAScript3的标准,所以提到js,很多时候可以忽略版本号,就是指ES3。
ES5
ECMAScript第五个版本(第四版因为过于复杂废弃了)。力求澄清第3版中的歧义,并添加了新的功能。新功能包括:原生JSON对象、继承的方法、高级属性的定义以及引入严格模式。
ES6
ECMAScript6在保证向下兼容的前提下,提供大量新特性。是继ES5之后的一次主要改进,增添了许多必要的特性,例如:模块和类以及一些实用特性,Maps、Sets、Promises、生成器(Generators)等。
浏览器支持:
浏览器支持算是个老梗了,尤其是IE系列,早期需要各种hack才可以,打补丁打到要吐有没有。好在现在浏览器飞速发展,js标准的支持也在不断增加,so,ES6 最好先不要直接用,ES5 哪些地方不支持,学习的时候注意一下即可,写好程序后测试,发现不支持再找解决方案即可。
二、组成
core js + client js
屏幕快照 2016-11-26 下午4.22.49.pngcore js
每种语言必须具有用于执行诸如基本输入和输出的功能的平台或标准库或API。核心JavaScript语言定义了用于处理文本,数组,日期和正则表达式的最小API,但不包括任何输入或输出功能。
client js
输入和输出(以及更复杂的功能,如网络,存储和图形)是嵌入JavaScript的“宿主环境”的责任。 通常,宿主环境是Web浏览器。
网友评论