JavaScrip的简称“js” 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发前端页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式风格。

知乎视频​www.zhihu.com

一,Js的发展史

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。

  1. 动态:在运行时确定数据类型。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
  2. 弱类:计算时可以不同类型之间对使用者透明地隐式转换,即使类型不正确,也能通过隐式转换来得到正确的类型。
  3. 原型:新对象继承对象,将自身的属性共享给新对象,模版对象称为原型。这样新对象实例化后不但可以享有自己创建时和运行时定义的属性,而且可以享有原型对象的属性。

脚本语言:不需要编译器编译。

  • 在1995年时,由Netscape公司的布兰登·艾奇,JavaScript的发明人,在网景导航者浏览器上首次设计实现而成。
  • 由于网景公司希望能在静态HTML页面上添加一些动态效果,于是叫Brendan Eich这哥们在两周之内设计出了JavaScript语言,你没看错,就是他用了10天时间。
  • 为什么起名叫JavaScript?原因是当时Java语言非常红火,所以网景公司希望借Java的名气来推广,但事实上JavaScript除了语法上有点像Java,其他部分基本上没啥关系。
  • Netscape在最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为JavaScript
  • Java Script的三个主要组成部分是:ECMAScript(核心),DOM(文档对象模型),BOM(浏览器对象模型)。

他和java的一个区别就是:

二,Js特点

  1. 是一种解释性脚本语言(代码不进行预编译)。
  2. 主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
  3. 可以直接嵌入HTML页面,但写成单独的JS文件有利于结构和行为的分离。
  4. 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等
  5. 它是单线程编程语言。

三,ECMAScript 和 JavaScript 的关系

  • 1996 年 11 月,JavaScript 的创造者Netscape公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准。
  • 因为网景开发了JavaScript,一年后微软模仿JavaScript开发了JScript,为了让JavaScript成为全球标准,几个公司联合ECMA(European Computer Manufacturers Association)组织定制了JavaScript语言的标准,被称为ECMAScript标准。
  •   所以简单说来就是,ECMAScript是一种语言标准,而JavaScript是网景公司对ECMAScript标准的一种实现。那为什么不直接把JavaScript定为标准呢?因为JavaScript是网景的注册商标。不过大多数时候,我们还是用JavaScript这个词。如果你遇到ECMAScript这个词,简单把它替换为JavaScript就行了。
  •   由于JavaScript的标准——ECMAScript在不断发展,最新版ECMAScript 6标准(简称ES6,有时也被称为ES2015)已经在2015年6月正式发布了,所以,讲到JavaScript的版本,实际上就是说它实现了ECMAScript标准的哪个版本。

四,JavaScript的用途

  1. 嵌入动态文本于HTML页面。
  2. 对浏览器事件做出响应。
  3. 读写HTML元素。
  4. 在数据被提交到服务器之前验证数据。
  5. 检测访客的浏览器信息。
  6. 控制cookies,包括创建和修改等。
  7. 基于Node.js技术进行服务器端编程。

原作者姓名:北京尚学堂
原出处:知乎
原文链接:北京尚学堂:一分钟带你了解JavaScript!

javascript最新版本_什么是JavaScript!相关推荐

  1. javascript 全栈_什么是JavaScript? 全栈编程语言

    javascript 全栈 JavaScript是一种流行的解释性脚本语言,在2019年初成为开发人员最常学习的语言 . JavaScript是一种开放标准,不受任何单一供应商的控制,具有多种实现方式 ...

  2. javascript创建类_如何使用JavaScript创建吹气效果

    javascript创建类 Have you ever wondered how you can create a realistic air blowing effect with JavaScri ...

  3. 审查指南 最新版本_代码审查-最终指南

    审查指南 最新版本 by Assaf Elovic 通过阿萨夫·埃洛维奇 代码审查-最终指南 (Code Review - The Ultimate Guide) 构建团队代码审查流程的终极指南 (T ...

  4. beego 最新版本_优麒麟20.10版本发布-

    北京时间 2020 年 10 月 23 日,优麒麟团队很高兴地宣布优麒麟(Ubuntu Kylin)开源操作系统 版本(代号Groovy Gorilla)正式发布. 是优麒麟发布的第 16 个版本,提 ...

  5. 安卓最新版本_小米穿戴app下载安装-小米穿戴app官方版下载v1.2.1 安卓最新版本...

    小米穿戴设备app最新版本是一款用户小米手表的智能连接软件,根据小米手表显示的二维码进行连接,实时进行同步你的身体数据,为你分析身体健康问题,管理你的各种数据有异常时也会提醒你,感兴趣的朋友赶快来22 ...

  6. 安卓最新版本_腾讯手机管家下载最新版本-腾讯手机管家2020新版本下载v8.8.1 安卓官方版...

    2020腾讯手机管家安卓版是一款功能强大的安全优化软件,让你的手机处在安全的网络环境中,抵抗外界的干扰,还能智能拦截骚扰电话,给你一个干净舒适的环境,更多功能尽在腾讯手机管家客户端.喜欢的朋友就来22 ...

  7. 苹果微信更新不了最新版本_微信最新版本可以更改微信号了!还有大量功能更新!...

    文字编辑:XC丨插图来自于网络 微信可以改账号了? 近日有不少用户表示,微信在近期更新的 安卓版本 微信7.0.15出现了更改微信号的页面. 已经有不少朋友向 XC 截图了安卓微信版本这个功能页面的截 ...

  8. 苹果微信更新不了最新版本_教你安卓微信怎么更新到最新版本?

    一般来说应用更新的时候都会有提醒,有些会显示小红点提醒你有新版本,有的会直接弹出窗口或者对话框,提醒你更新版本,而有的需要你直接去查是否有最新版本. 近期微信推出了7.0版本,现在已经从苹果及部分安卓 ...

  9. 苹果微信更新不了最新版本_苹果iOS用户更新微信至版本7.0.13,可以进行微信号修改支持一年修改一次...

    今日,微信官方表示,苹果iOS用户更新微信至版本7.0.13,可以进行微信号修改支持一年修改一次,入口位于"我"-"个人信息"-"微信号", ...

最新文章

  1. GO库安装报错解决:unrecognized import path golang.org/x/net (https fetch: dial tcp i/o timeout
  2. kafka0.9 java commit_kafka提交offset失败
  3. ROS学习(七):ROS launch 文件
  4. dw中html中无法使用js,在Dreamweaver中调用JavaScript行为
  5. javaWeb -- 虚拟主机以及虚拟目录映射的配置
  6. jQuery知识(转)
  7. WSL下的Docker数据卷挂载
  8. Linux入门基础学习参考资料
  9. Just Do It!
  10. 使用canvas画三角形,圆形,半圆,八卦
  11. 【正点原子I.MX6U-MINI应用篇】6、嵌入式Linux在LCD屏幕上显示字符
  12. 字节跳动前端实习一面
  13. DDD(Domain-Driven Design 领域驱动设计) 与产品设计
  14. 2017.2.10考试总结2017冬令营
  15. LDPC码的基础(1)
  16. qt5使用内存检测工具vld查看内存泄漏
  17. myeclipse+wtk环境配置
  18. TotalRecorder 5.3 版及其插件包发布
  19. 街霸五显示登录服务器,pc版的街霸五如何登陆服务器 | 手游网游页游攻略大全...
  20. golang读取excel文件,及时间处理等注意事项

热门文章

  1. 这 3 种 DDD 分层架构的模式,你掌握了么?
  2. 趣图:只有程序员才能看懂这个疫情号召
  3. 修改Yarn的全局安装和缓存位置
  4. Spring Cloud 入门 之 Eureka 篇(一)
  5. 数据搬运组件:基于Sqoop管理数据导入和导出
  6. Spring、SpringMVC、SpringBoot、SpringCloud的关系分享
  7. Top-down与Bottom-up
  8. Java 基础 之 赋值运算符
  9. CloudEngine 6800 堆叠场景下配置eth-trunk链路聚合流量负载不均衡
  10. 利用JavaScript实现简单的下拉菜单