热门标签 | 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构建在两个不同的实体概念:类,对象

 


推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 本文概述了JNI的原理以及常用方法。JNI提供了一种Java字节码调用C/C++的解决方案,但引用类型不能直接在Native层使用,需要进行类型转化。多维数组(包括二维数组)都是引用类型,需要使用jobjectArray类型来存取其值。此外,由于Java支持函数重载,根据函数名无法找到对应的JNI函数,因此介绍了JNI函数签名信息的解决方案。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • pyecharts 介绍
    一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ... [详细]
  • FileReader详解与实例---读取并显示图像文件
    我们曾经在《HTML5中File对象初探》中,使用到了FileReader,在那篇文章中,它被用来将一个文件读取为二进制字符串,并通过xhr发送到后端形成交互。作为FileAPI的一部 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • 如何压缩网站页面以减少页面加载时间
    本文介绍了影响网站打开时间的两个因素,即网页加载速度和网站页面大小。重点讲解了如何通过压缩网站页面来减少页面加载时间。具体包括图片压缩、Javascript压缩、CSS压缩和HTML压缩等方法,并推荐了相应的压缩工具。此外,还提到了一款Google Chrome插件——网页加载速度分析工具Speed Tracer。 ... [详细]
  • CentOS7系统目录LINUX有四种基本文件系统类型普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、 ... [详细]
  • 技术周报·2021-05-07-小编推荐向现代Javascript转型原文标题:Publish,ship,andinstallmodernJavaScriptforfaste ... [详细]
  • this prototype 闭包 总结
    this对象整理下思路:一般用到this中的情景:1.构造方法中functionA(){this.nameyinshen;}varanewA() ... [详细]
  • JavaWeb介绍概念JavaWeb,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有javaapplet,不过使 ... [详细]
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社区 版权所有