热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript简介及语言特点

本文介绍了JavaScript的起源和发展历程,以及其在前端验证和服务器端开发中的应用。同时,还介绍了ECMAScript标准、DOM对象和BOM对象的作用及特点。最后,对JavaScript作为解释型语言和编译型语言的区别进行了说明。

一,JS起源

语言的发展:纸带机:机器语言  ;汇编语言:符号语言;现代语言:高级语言

JS起源于1995年,它的出现主要是用于处理网页中的前端验证(检查用户输入的内容是否符合一定的规则,比如用户名长度,密码长度,邮箱的格式等)。当时网速较慢,将验证信息放在服务器端验证用户体验不佳,Netscape网景公司就根据这个需求开发了liveScript语言,后来SUN公司(开发java)介入改名为Javascript。如今JS可用在前端,也可写服务器node.js。ECMAScript标准简称ES,不同的浏览器厂商对该标准会有不同的实现。(不同浏览器用的JS引擎是不同的)

firefox是网景公司倒闭之前捐献的

Chrome浏览器的引擎V8是整个JS里面执行起来最快的引擎

一个完整的Javascript实现由三部分组成:

ECMAScript标准

DOM对象(文档对象模型):操作网页

BOM对象(浏览器对象):操作浏览器

二,JS语言的特点

1,JS是解释型语言

JS不用预先翻译,直接运行(运行期间才翻译成机器语言,运行速度相对较慢)。计算技是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,任何使用高级语言编写的程序都必须将其转换成机器语言(机器码),转换方式有两种:编译,解释

1)编译型语言:使用专门的编译器,针对特定的平台,将高级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行程序的格式。(C,C++)

2)解释型语言:使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行,在代码执行时才被解释器一行行动态翻译和执行,而不是在执行前就完成翻译。(Javascript,Python)

3)关于java,java和其他语言不太一样,它针对不同的平台有不同的JVM,实现了跨平台,java语言是一次编译到处行;Java代码编译。class文件后不能直接运行,它是解释运行在JVM上的,

  2,JS是动态语言

1)静态语言:在编译时变量的数据类型就可以确定的语言,在使用变量前必须声明数据类型.(C,C++,C#,Java)

2)动态语言:在运行时确定数据类型,变量使用前不需要声明类型,变量的类型是被赋值的那个值的类型(Python,JS,)

3)基于原型的面向对象:

传统的语言有类的概念,但是JS (ES5)是基于原型实现的面向对象。JS只有对象,原型对象prototype作为一个模板,新对象可以从中获得原始的属性,对象可以在创建或运行时创建自身的属性。

基于类的面向对象语言:Java构建在两个不同的实体概念:类,对象

 


推荐阅读
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 前言:原本纠结于Web模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中ev ... [详细]
  • 前言:原本纠结于Web 模板,选了Handlebars。后来发现页面都是弱逻辑的,不支持复杂逻辑表达式。几乎要放弃之际,想起了Javascript中eval函数。虽然eval函 ... [详细]
  • 技术周报·2021-05-07-小编推荐向现代Javascript转型原文标题:Publish,ship,andinstallmodernJavaScriptforfaste ... [详细]
  • pyecharts 介绍
    一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ... [详细]
  • JavaWeb介绍概念JavaWeb,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有javaapplet,不过使 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • python之poc编写——sql篇
    文章目录sql注入漏洞漏扫单个网站基础sql扫描多个网站sql基础扫描时间盲注型扫描升阶版sq ... [详细]
  • OrbitDBPeer 2 Peer Database using CRDTs
    2019独角兽企业重金招聘Python工程师标准Apeer-to-peerdatabaseforthedecentralizedwebOrbitDBisaserverless ... [详细]
  • 这篇“Webpack是怎么工作的”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大 ... [详细]
  • DAO设计模式(九)_1.设计分层初步 ... [详细]
author-avatar
gauss
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有