志在指尖
用双手敲打未来

javascript是什么(javascript是什么类型的语言)

javascript是什么

对JavaScript言语类型的疑问点?
最初,网上的大部分JavaScript教程,都会给你说JavaScript是解说型言语,假如咱们细想的话,就会对此产生疑问:
假如JavaScript是解说型言语那为什么会有变量提高(hoisting),待会解说变量提高JIT(即时编译)会对代码进行优化(一起创立编译版本),这是解说型无法做到的咱们对上述问题进行剖析
什么是解说型言语?
解说型言语编写的程序在每次运行时都需求经过解说器对程序进行动态解说和履行
长处:可移植好,因为只需求体系有JavaScript解说器就能够运行,无需其他体系库支撑缺陷:履行速度慢,因为相比直接履行,多了一个翻译进程什么是编译型言语?
编译型言语的程序只需求经过编译器编译后,能够直接履行,不需求再次“翻译”;
长处:履行速度快缺陷:可移植性差,因为编译需求对操作体系的库做出链接,所以程序运行时需求用到特定的体系库什么是变量提高?
假如你有编写过js代码,我觉得你应该现已知道了JavaScript的变量提高。在咱们声明的变量将会被提高到顶部,也就是”undefined“,这是你应该会有疑问,分明有值啊,怎么会是”undefined“,是笔者误导仍是JavaScript引擎偷偷履行了两次?咱们看下JavaScript处理声明句子的进程:
JavaScript声明句子进程
当V8引擎履行具体代码上下文(函数),将对代码进行“词法剖析”或者“分词”,如:“foo=2”,将被分割成“foo”=“”2“的词法单元(atomictoken)当引擎对当前整个效果域剖析完结,然后会将token解析翻译成一个AST(抽象语法树)每当引擎遇到声明句子,就会将变量分配内存,但不会修改源代码,而是将变量提高并默认值”undefined“,并传递到效果域(scope)中并创立一个绑定当需求赋值时,引擎首要经过效果域(scope)查找绑定,假如效果域中没有找到就往上查询,直到找到停止接下来引擎将会生成CPU可履行的机器码最后,代码履行完结java

javascript是什么类型的语言

JavaScript是一种脚本言语,官方名称为ECMAScript(因界说言语的标准为ECMA-262)。JS的主要特点:1.语法类似于常见的高级言语,如C和Java;2.脚本言语,不需要编译就可以由解释器直接运行;3.变量松散界说,归于弱类型言语;4.面向目标的。
JS最初是为网页规划而开发的,现在也是Web开发的重要言语。它支撑对浏览器(浏览器目标模型,BOM)和HTML文档(文档目标模型,DOM)进行操作,而使网页出现动态的交互特性。
严格的说,JS仅仅ECMAScript的一种实现,是ECMAScript和BOM、DOM组成的一种Web开发技能。

未经允许不得转载:IT技术网站 » javascript是什么(javascript是什么类型的语言)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载