初探js(一)
何为JavaScript
JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。-百度百科
其实学好英语对于编程还是有很大的帮助的,有的时候望文生义,script的中文意思为脚本。js是一种脚本语言。
何为脚本语言?
脚本语言又被称为扩建的语言, 或者动态语言, 是一种编程语言, 用来控制软件应用程序, 脚本通常是以文本 (ASCⅡ) 保存, 只是在被调用时进行解释或者编译。
只是被调用时进行解释或者编译 js是一行一行执行的,写一行执行一行。顺着脚本继续往下探究,那么什么叫做解释,什么叫做编译呢,两者有何区别?
关于编译器和解释器
一句话描述编译与解释
编译 Compile:把整个程序源代码翻译成另外一种代码,然后等待被执行,发生在运行之前,产物是「另一份代码」。
解释 Interpret:把程序源代码一行一行的读懂然后执行,发生在运行时,产物是「运行结果」。
关于编译器和解释器,参考了下大佬写的博客。编译,从词的含义可以看出是将一种语言经过”编”的过程,”翻译”成另一种语言,机器拿到的是另一份代码,一份”文本”,机器还没有”看”。而解释,直接就将一种语言直接解释给机器听,机器能直接听懂。
以java举例,我们直接写的是java文件,需要javac编译成class文件,即字节码文件,这就是机器拿到的另一份文本,这份文本可以被其他的机器也能读懂。需要jvm再进行解释,那么就可以被机器听懂了。这是我的粗浅的理解,对于jvm的原理还是需要进一步的了解。
通过以上的了解,大概明白了js是一种解释的脚本语言,一边解释一边执行。
名字为啥有Java?有啥关系吗
JavaScript在1995年由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近-百度百科
何为Es?
1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。次年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版。
该标准从一开始就是针对 JavaScript 语言制定的,但是之所以不叫 JavaScript,有两个原因。一是商标,Java 是 Sun 公司的商标,根据授权协议,只有 Netscape 公司可以合法地使用 JavaScript 这个名字,且 JavaScript 本身也已经被 Netscape 公司注册为商标。二是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。
因此,ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript)。日常场合,这两个词是可以互换的。
总结
了解了下什么是js,什么是脚本语言,什么是编译器和解释器。顺便八卦了下js与java之间有啥关系。