前言一:javascript历史背景介绍

  布兰登 • 艾奇(Brendan Eich,1961年~),1995年在网景公司,发明的JavaScript。

  一开始JavaScript叫做LiveScript,但是由于当时Java这个语言特别火,所以为了傍大牌,就改名为JavaScript。如同“北大”和“北大青鸟”的关系。“北大青鸟”就是傍“北大”大牌。

  同时期还有其他的网页语言,比如VBScript、JScript等等,但是后来都被JavaScript打败了,所以现在的浏览器中,只运行一种脚本语言就是JavaScript

前言二:javascript的悲催发展史

  说到javascript,大家应该都不陌生,但是我们现在要了解的是它的发展史

  javascript是一种直译式 的脚本语言,是一种动态类型,弱类型,基于原型的语言,内置支持类型。

  最开始他的诞生是因为需要处理服务器的一些表单验证,比如说在以前注册的时候并不会像现在一样,以前不会提示你用户名已经被注册,所以以前你认认真真的填了慢慢的信息,点一个提交要等个十几分钟,最后弹出来一个窗口告诉你用户名已经被注册了,然后一刷新,你之前填的东西全没了。。。。。。。。

  1995年,javascript由Netscape公司的Brendan Eich,在网景浏览器首次设计实现而成。当时他被叫做livescript。但当时java非常火,所以他想借机传播自己,于是改名改称为javascript,但是呢和java没有半毛钱关系。

  javascript1.0一经过推出,便获得了巨大的成功,Netscape随后又推出了一系列的版本,在当时市面上有三种js的版本,IE的JScript,网景的javaScript,script Ease的CEnvi。可是javascript毕竟是公司开发的,规范性的问题渐渐暴露出来。

  最后由EMCA(欧洲计算机制造协会)进行标准化,这里说下EMCAscript不等于javascrpt。

  自此后javascript一统江湖。

  那你以为javascript就此走上了人生巅峰了吗?

  不不不,在2003年以前,javascript有个外号叫“牛皮癣”,可谓是臭名远扬。这个比喻还是比较生动的,当时什么浮动广告,小广告,小弹窗啊都是他的杰作,一谈起javascript,那简直就是祸害。

  但是是金子总会发光的。

  2004年的,js的命运被改变,当时的谷歌公司开始重视Ajax。什么是Ajax,举个例子,比如我们想在网上差个信息,都会有下拉的提示,通过异步交互技术完成。

  2007年,乔布斯推出第一代苹果手机,打开了手机开启桌面级浏览器新时代,js迎来了他自出生而来的重大转折点。

  2010年,推出了html3的画布功能。工程师可以在canvas进行游戏制作,如今开始流行webapp,用页面技术开发手机应用,javascript也算是走上了人生巅峰。

  Javascript,从“最被误解的语言”,最后神奇地转变成为“最流行的语言”,证明它经受得起时间的考验。虽然单独来看,它的交互设计有些失败,但是加上Ajax的完美配合,javascript就成了一款轻便并且又实用的好语法。

前言三:为什么要学习javascript

  JavaScript是世界上最流行的脚本语言,因为你在电脑、手机、平板上浏览的所有的网页,以及无数基于HTML5的手机App,交互逻辑都是由JavaScript驱动的。

  简单地说,JavaScript是一种运行在浏览器中的解释型的编程语言。

  那么问题来了,为什么我们要学JavaScript?尤其是当你已经掌握了某些其他编程语言如Java、C++的情况下。

  简单粗暴的回答就是:因为你没有选择。在Web世界里,只有JavaScript能跨平台、跨浏览器驱动网页,与用户交互。

  Flash背后的ActionScript曾经流行过一阵子,不过随着移动应用的兴起,没有人用Flash开发手机App,所以它目前已经边缘化了。相反,随着HTML5在PC和移动端越来越流行,JavaScript变得更加重要了。并且,新兴的Node.js把JavaScript引入到了服务器端,JavaScript已经变成了全能型选手。

  JavaScript一度被认为是一种玩具编程语言,它有很多缺陷,所以不被大多数后端开发人员所重视。很多人认为,写JavaScript代码很简单,并且JavaScript只是为了在网页上添加一点交互和动画效果。

  但这是完全错误的理解。JavaScript确实很容易上手,但其精髓却不为大多数开发人员所熟知。编写高质量的JavaScript代码更是难上加难。

  一个合格的开发人员应该精通JavaScript和其他编程语言。如果你已经掌握了其他编程语言,或者你还什么都不会,请立刻开始学习JavaScript,不要被Web时代所淘汰。

一,javaScrpt是什么?   

  javascript因为兼容于ECMA标准,因此也称为ECMAScript。JavaScript作为一种脚本语言,已经被广泛地应用于Web页面当中,通过嵌入HTML来实现各种酷炫的动态效果,为用户提供赏心悦目的浏览效果。除此之外,也可以用于控制cookies以及基于Node.js技术进行服务器端编程。

  javascript是甲骨文公司的注册商标,完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型和浏览器对象模型。发展初期,JavaScript的标准并未确定,同期有Netscape的JavaScript,微软的JScript和CEnvi的ScriptEase三足鼎立。1997年,在ECMA(欧洲计算机制造商协会)的协调下,由Netscape、Sun、微软、Borland组成的工作组确定统一标准:ECMA-262。

  javaScript是一种web前端的描述语言,也是一种基于对象(object)和事件驱动(Event Driven)的、安全性好的脚本语言。

  它运行在客户端从而减轻服务器的负担。

  JavaScript 是互联网上最流行的脚本语言,这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。

javaScript的特点:

  1. javaScript主要用来向html页面中添加交互行为
  2. javaScript是一种脚本语言,语法和c语言系列语言的语法类似,属弱语言类型。
  3. javaScript一般用来编写客户端脚本,如node.js例外。
  4. javaScript是一种解释型语言,边执行边解释无需另外编译。
  5. javascript是一种轻量级别的编程语言
  6. javascript是可插入HTML页面的编程代码
  7. javascript插入HTML页面后,可由所有的现代浏览器执行

二,javaScript的用途是什么?

  javaScript的用途是解决页面交互和数据交互,最终目的是丰富客户端效果以及数据的有效传递。

  1. 实现页面交互,提升用户体验实现页面特效。即js操作html的dom节构或操作样式。
  2. 客户端表单验证即在数据送达服务端之前进行用户提交信息即时有效地验证,减轻服务器压力。即数据交互。

三,javaScrpit和ECMAScript的关系是什么?

我们会有这个问题,我们先了解下什么是ECMAScript吧!

  ECMAScript是一种由Ecma国际(前身为欧洲计算机制造商协会,英文名称是European Computer Manufacturers Association)制定的标准。

  JavaScript是由公司开发而成的,问题是不便于其他的公司拓展和使用。所以欧洲的这个ECMA的组织,牵头制定JavaScript的标准,取名为ECMAScript。

  简单来说,ECMAScript不是一门语言,而是一个标准。符合这个标准的比较常见的有:JavaScript、Action Script(Flash中用的语言)。就是说,你JavaScript学完了,Flash中的程序也就轻而易举了。

  ECMAScript在2015年6月,发布了ECMAScript 6版本,语言的能力更强(也包含了很多新特性)。但是,浏览器的厂商不能那么快去追上这个标准。

  ECMAScript是脚本程序设计语言的web标准。

  javaScript和ECMAScript的关系:

  ECMAScript是欧洲计算机制造商协会,基于美国网景通讯公司的Netscape发明的javaScript和Microsoft公司随后模仿javaScript推出JScript脚本语言制定了ECMAScript标准

四,javaScript由哪几部分组成?

ECMAScript、DOM、BOM

五,开发工具介绍

前端常用开发工具:sublime、visual Studio Code、HBuilder、Webstorm。

那么大家使用的PCharm跟WebStorm是JetBrains公司推出的编辑工具,开发阶段建议使用。

Visual Studio Code

微软出的Visual Studio Code,可以看做迷你版Visual Studio,免费!跨平台!内置JavaScript支持,强烈推荐使用!

SublimeText

Sublime Text是一个好用的文本编辑器,免费,但不注册会不定时弹出提示框。

Notepad++

Notepad++也是免费的文本编辑器,但仅限Windows下使用。

注意:不可以用Word或写字板来编写JavaScript或HTML,因为带格式的文本保存后不是纯文本文件,无法被浏览器正常读取。也尽量不要用记事本编写,它会自作聪明地在保存UTF-8格式文本时添加BOM头。

六,javascript入门易学

  • JavaScript对初学者比较友好。

  • JavaScript是有界面效果的(比如C语言只有白底黑字)。

  • JavaScript是弱变量类型的语言,变量只需要用var来声明。而Java中变量的声明,要根据变量的类型来定义。

比如Java中需要定义如下变量:

 int a;
float a;
double a;
String a;
boolean a;

  而JavaScript中,只用定义一个变量:

 var a;

  

  • JavaScript不用关心其他的一些事情(比如内存的释放、指针等),更关心自己的业务。

七,javascript是前台语言

  JavaScript是前台语言,而不是后台语言。

  JavaScript运行在用户的终端网页上,而不是服务器上,所以我们称为“前台语言”。JavaScript就是一个简单的制作页面效果的语言,就是服务于页面的交互效果、美化、绚丽、不能操作数据库。

  后台语言是运行在服务器上的,比如PHP、ASP、JSP等等,这些语言都能够操作数据库,都能够对数据库进行“增删改查”操作。Node.js除外。

八,javascript的组成

JavaScript基础分为三个部分:

  • ECMAScript:JavaScript的语法标准。包括变量、表达式、运算符、函数、if语句、for语句等。

  • DOM:操作网页上的元素的API。比如让盒子移动、变色、轮播图等。

  • BOM:操作浏览器部分功能的API。比如让浏览器自动滚动。

PS:JS机械重复性的劳动几乎为0,基本都是创造性的劳动。而不像HTML、CSS中margin、padding都是机械重复劳动。

九,javascript的特点

(1)简单易用:可以使用任何文本编辑工具编写,只需要浏览器就可以执行程序。

(2)解释执行(解释语言):事先不编译、逐行执行、无需进行严格的变量声明。

(3)基于对象:内置大量现成对象,编写少量程序可以完成目标

十,javascript可以做什么?

  用JavaScript可以做许多事情,使网页更具交互性,给站点的用户提供更好、更令人兴奋的体验。JavaScript使你可以创建活跃的用户界面,当用户在页面间导航时向他们提供反馈。例如,你可能在一些站点上见过在鼠标指针停留时突出显示的按钮。这是用JavaScript实现的,使用了一种称为翻转器(rollover)的技术 可以使用JavaScript确保用户在表单中输入有效的信息,这可以节省你的业务时间和开支。如果表单需要进行计算,那么可以在用户机器上的JavaScript中完成,而不需要任何服务器端处理。你应该知道一种区分程序的方式:在用户机器上运行的程序称为客户端(client-side)程序;在服务器上运行的程序(包括后面要讨论的CGI)称为服务器端(server-side)程序。 可以使用JavaScript根据用户的操作即时创建定制的HTML页面。假设你正在运行一个旅行指南站点,用户点击夏威夷作为旅游目的地。你可以在一个新窗口中显示最新的夏威夷旅游指南。JavaScript可以控制浏览器,所以你可以打开新窗口、显示警告框以及在浏览器窗口的状态栏中显示定制的消息。JavaScript有一套日期和时间特性,可以生成时钟、日历和时间戳文档。 JavaScript还可以处理表单、设置cookie、即时构建HTML页面以及创建基于Web的应用程序。

十一,javascript不能做什么?

JavaScript是一种客户端(client-side)语言;也就是说,设计它的目的是在用户的机器上执行任务,而不是在服务器上。因此,JavaScript有一些固有的限制,这些限制主要出于安全原因:

  • 1.JavaScript不允许读写客户机器上的文件。这是有好处的,因为你肯定不希望网页能够读取自己硬盘上的文件,或者能够将病毒写入硬盘,或者能够操作你计算机上的文件。唯一的例外是,JavaScript可以写到浏览器的cookie文件,但是也有一些限制
  • 2.JavaScript不允许写服务器机器上的文件。尽管写服务器上的文件在许多方面是很方便的(比如存储页面点击数或用户填写的表单数据),但是JavaScript不允许这么做。相反,需要用服务器上的一个程序处理和存储这些数据。这个程序可以是用Perl或PHP等语言编写的CGI或Java程序。
  • 3.JavaScript不能关闭不是由它自己打开的窗口。这是为了避免一个站点关闭其他任何站点的窗口,从而独占浏览器。
  • 4.JavaScript不能从来自另一个服务器的已经打开的网页中读取信息。换句话说,网页不能读取已经打开的其他窗口中的信息,因此无法探察访问这个站点的冲浪者还在访问哪些其他站点。

我们的第一个脚本:最经典的HelloWorld程序!

<script type="text/javascript">
document.write("<h2>Hello,JavaScriptWorld!</h2>");
</script>

  

javaScript之基础介绍的更多相关文章

  1. Web3D编程入门总结——WebGL与Three.js基础介绍

    /*在这里对这段时间学习的3D编程知识做个总结,以备再次出发.计划分成“webgl与three.js基础介绍”.“面向对象的基础3D场景框架编写”.“模型导入与简单3D游戏编写”三个部分,其他零散知识 ...

  2. JavaScript入门基础

    JavaScript基本语法 1.运算符 运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=).算术运 ...

  3. Javascript语法基础

    Javascript语法基础   一.基本数据类型   JavaScript中支持数字.字符串和布尔值三种基本数据类型: 1.数字 数字型是JavaScript中的基本数据类型.在JavaScript ...

  4. Node.js学习笔记(一)基础介绍

    什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  5. Node.js 基础介绍

    什么是Node.js 官网介绍: Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js us ...

  6. JavaScript的基础学习

    由js和python想到的: 弱类型语言 js 中的数据在进行算数运算时,会自动转换类型强类型语言 变量的值的数据类型一旦确定,使用时不能改变 动态语言:编译时不知道数据类型,只有在执行时才知道数据类 ...

  7. 三丶JavaScript 的基础学习(一)

      知识预览 BOM对象 DOM对象(DHTML) 8 实例练习 JavaScript概述 JavaScript的历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言 ...

  8. 快速掌握JavaScript面试基础知识(三)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  9. 快速掌握JavaScript面试基础知识(二)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

随机推荐

  1. docker Dockerfile里使用的命令说明

    一,dockerfile格式 注释# 指令 参数 指令不区分大小写,但是推荐全部大写指令. 指令从上到下顺序被执行 第一个指令必须是[FROM],指示出要使用的基础镜像. 执行docker file时 ...

  2. 《Web Development with Go》JWT认证

    时间晚了,先来一版调通的JWT普通认证, 明天再弄一个通过中间件,及gorilla,negroni库的认证, 这样正规些, 但认证通过之后,如何对应权限? 由于jwt-go从2升到3,还有rsa 10 ...

  3. 2019-2020-1 20199305《Linux内核原理与分析》第八周作业

    可执行程序的工作原理 (一)ELF目标文件 (1)什么是ELF? 这里先提一个常见的名词"目标文件",是指编译器生成的文件.ELF(Executable and Linkable ...

  4. java之Set接口(单列集合)

    Set接口概述 java.util.Set 接口和 java.util.List 接口一样,同样继承自 Collection 接口,它与 Collection 接口中的方法基本一致,并没有对 Coll ...

  5. IntersectionObserver API,观察元素是否进入了可视区域

    网页开发时,常常需要了解某个元素是否进入了"视口"(viewport),即用户能不能看到它. 上图的绿色方块不断滚动,顶部会提示它的可见性. 传统的实现方法是,监听到scroll事 ...

  6. Centos6进入单用户模式的两种方法

    单用户模式的作用 在使用Linux系统中,维护人员经常会碰到一个问题,就是在拥有root账号权限和密码的用户中,总是会出现忘记root密码的情况.遇到这种情况,一般情况下,维护人员就会通过最常用的方法 ...

  7. HTML中跨域请求天气粗略效果

    HTML中跨域请求天气粗略效果 html+css部分: <style> table{ border:1px red solid; border-collapse: collapse; ma ...

  8. error: (-210:Unsupported format or combination of formats) [Start]FindContours supports only CV_8UC1 images when mode != CV_RETR_FLOODFILL otherwise supports CV_32SC1 images only in

    问题: error: (-210:Unsupported format or combination of formats) [Start]FindContours supports only CV_ ...

  9. Web安全测试学习笔记-DVWA-SQL注入-1

    SQL注入的定义网上很多,作为一个初学者,我对SQL注入的理解是这样的:网站应用一般都有后台数据库(不论是关系型还是非关系型),用户在网站上的绝大部分操作,最终都会跟数据库交互(也就是执行一串SQL语 ...

  10. 基于STM32F429,Cubemx的SDHC卡的基本Fatfs文件移植

    本博文要求各位初步了解Fatfs文件系统 友情提示Fatfs官网:http://elm-chan.org/fsw/ff/00index_e.html 1.开发软件 keil5,Cube5.21 2.实 ...