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

 


推荐阅读
  • 开发笔记:前端之前端初识
    开发笔记:前端之前端初识 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • NPM 脚本 'start' 退出,未显示 create-react-app 服务器正在监听请求
    遇到 NPM 脚本 'start' 退出且未显示 create-react-app 服务器正在监听请求的问题,请求帮助。 ... [详细]
  • 阿里云 Aliplayer高级功能介绍(八):安全播放
    如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • C++ 开发实战:实用技巧与经验分享
    C++ 开发实战:实用技巧与经验分享 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 利用 JavaScript 和 Node.js 验证时间的有效性
    本文探讨了如何使用 JavaScript 和 Node.js 验证时间的有效性。通过编写一个 `isTime` 函数,我们可以确保输入的时间格式正确且有效。该函数利用正则表达式匹配时间字符串,检查其是否符合常见的日期时间格式,如 `YYYY-MM-DD` 或 `HH:MM:SS`。此外,我们还介绍了如何处理不同时间格式的转换和验证,以提高代码的健壮性和可靠性。 ... [详细]
  • 在Eclipse中提升开发效率,推荐使用Google V8插件以增强Node.js的调试体验。安装方法有两种:一是通过Eclipse Marketplace搜索并安装;二是通过“Help”菜单中的“Install New Software”,在名称栏输入“googleV8”。此插件能够显著改善调试过程中的性能和响应速度,提高开发者的生产力。 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 如何在启用ECMAScript 6特性的情况下高效运行Node.js应用?本文将详细介绍如何在Node.js环境中启用并充分利用ES6的新特性,包括模块化、箭头函数、模板字符串等,以提升代码的可读性和开发效率。同时,文章还会探讨性能优化策略,确保应用在启用ES6特性后仍能保持高效运行。 ... [详细]
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社区 版权所有