本章目录

1.JS入门介绍

2.JS的运行环境

3.JS的调试

 

 

入门

--什么是JavaScript

   JavaScript是一种基于对象事件驱动的客户端脚本语言。

   JavaScript最初的设计是为了检验HTML表单输入的正确性。

   JavaScript起源于Netscape公司的LiveScript语言。
 
 
--JavaScript的历史
  JavaScript最初起源于LiveScript语言,当互联网开始流行时,越来越多的网站开始使用HTML表单与用户交互,然而表单交互却成了制约网络发展的重大瓶颈(用户总是痛苦的等待数据传送到服务器端检测,并传回是否正确,仅仅的表单检测,就产生了多次客户端与服务器端交互)。于是Netscape公司推出了LiveScript语言,最后Netscape与Sun将LiveScript命名为JavaScript(当时JAVA是很时髦的互联网名词),随后微软开始了其野心勃勃的浏览器计划,并且推出了JScript,于是网络上出现了几种类似的JavaScript语言,但是没有统一的特性与语法(当时的JavaScript开发被看做是一场噩梦,因此很多程序员并不看好JavaScript)。最终JavaScript被提交到欧洲计算机制造商协会(ECMA),做为中立的ECMA开始了标准化脚本语言之路,并将其命名为ECMAScript。

--JavaScript的组成

    完整的JavaScript是由ECMAScript语法)、Browser ObjectsDOMBOM)(特性)组成的。

 

JavaScript学习_第1章_概述_javascript

 

   上图是JavaScript的组成图示,箭头代表调用关系。

 

--什么是ECMAScript
 
    ECMA是European Computer Manufacturers Association的缩写,即欧洲计算机制造商协会。欧洲计算机制造商协会是制定信息传输与通讯的国际化标准组织。官方网站为,http://www.ecmascript.org/。
    ECMAScript是ECMA制定的标准化脚本语言。
    目前JavaScript使用的ECMAScript版本为ECMAScript-262。
    ECMAScript被国际化标准组织采纳为ISO/IEC 16262。

 

--JavaScript和Java有何关系

    与雷锋和雷锋塔的关系一样。

 

--Java 有没有类似于JavaScript的应用?

    有,Java applet。它是Java写的小应用程序,可以嵌入到网页页面中做网页特效,效果比JavaScript要好。但它有个缺点导致了它没有JavaScript应用要广,就是使用Java applet需要Java虚拟机才能工作,windows默认是没装java虚拟机的,所以对于用户而言需要先安装java虚拟机才能用applet,是比较麻烦的。

    applet一般应用在公司内部网站上,它的强大功能能做很多应用(比如OA系统),而且公司要求员工安装Java虚拟机也是没有问题的。

   

--JavaScript的特点

    JavaScript是弱类型语言(Java是强类型),是基于对象的(Java是面向对象的),是解释执行的(Java是编译执行的)。

    所谓基于对象就是只有对象的形式,没有面向对象的封装,继承,多态。

 

--JavaScript的作用

   在网页中编写特效。是在浏览器中解释执行的特效。

 

--学习JavaScript的步骤

  • 先学JavaScript语言本身;
  • 再学DOM和BOM;
  • 最后学JQuery.

 

--浏览器兼容问题

    和html一样,JavaScript也存在浏览器兼容问题(同一段代码,在不同浏览器显示效果可能有差别)。

 

--JS代码出错会造成什么影响?

    对页面中html代码的运行没有影响,但会造成该页面后面部分所有JS代码都不能被解释。

 

--所谓解释执行的含义

    解释执行,就是从上到下,一行一行的解释,执行。

    对于JS,如果在某一步停下了(比如遇到alert()语句),下面的也就停了。

 

--同一个页面中的多段JS代码

    这些代码即使在不连续也是相通的,在一段代码定义的变量,下面其他段也是可以用的。(因为是相通的,所以在命名变量、函数时不要重名)

    除非不得已,尽量把JS代码都提出来到一起。

 

运行环境

   浏览器默认都带有JS的解析器。

--JS代码如何加入到html页面中:

  • 使用<script></script>标签将JS语法嵌入到html代码中的,例如:
  1. <html> 
  2.     <head> 
  3.         <title>JavaScript测试页</title> 
  4.     </head> 
  5.      
  6.     <body> 
  7.         <script language = "javascript" type = "text/javascript"
  8.             function demo(){} 
  9.         </script>  
  10.     </body> 
  11.      
  12. </html> 

    script标签可以在html代码的很多位置,甚至可以在html标签外面写。但就是不能嵌套到css标签里面,也不能嵌套在标签的属性里面(比如<p <script>alert("111");</script>>ddd</p>是不行的),所有script标签必须放到能放标签的合理位置

    可以有多个script标签,每一个之间都是有关联的。

  • <a href="javascript:JS代码">或<form action="javascript:JS代码">,以标签属性的方式内敛到标签中,例如
  1. <a href="javascript:JS代码">a标签内容</a> 

注意:除了<a>标签,<form>标签能以"javascript:JS代码"的形式加入JS代码外,所有标签都能以某种方式(事件驱动的方式)内敛JS代码到属性中。 

  • 外部独立的JS文件,链入html代码中,JS文件名通常是"文件名.js "。例如:
  1. <script src="js文件所在目录/js文件名"><script> 

     在哪都可以链入外部文件。

    因为外部文件导入后就是本页面的内容,所以如果在一个页面中链入多个外部文件,这些文件中的方法、变量是可以共享的。

 

--JS的执行时机:

    JS代码有两种调用时机:

  • 顺序执行比如,普通<script>中的代码就是顺序执行的),解释器执行到一行就运行一行;
  • 事件驱动(比如,<a>属性里的JS代码就是事件驱动的,当用户点击a标签后才运行。

 

--使用外部JS文件的注意事项

  • 外部JS有很多资源是可以在网上下载的(比如网页中类似于word的ck编辑器,比如日历插件)。
  • JS文件的使用是有顺序的(使用变量的文件不能放在定义变量的文件之前),使用时要注意。
  • 注意多个JS文件中不能存在变量名冲突(比如发现某个JS文件单独运行好使,和另一个JS文件一起用就有问题,可能就是名字冲突了)。

 

 

调试方法

--查看是否有问题:

  • 可以用右键打开带有JS代码的html文件(会有提示是否打开含有脚本的页面);
  • 也可以通过web方式打开(没有提示)。

    两种方式调试都可以。

    如果用ie打开有错误的文件,左下角会有个叹号表示错误。

 

--输出手段(用于打印测试信息)

  •  alert("字符串");   //弹出一个只有确定按钮的窗口,窗口内显示字符串的内容。
  •  document.write("字符串");  //在页面内打印字符串,类似于PhP的echo语句。

 注意:JS解释器遇到alert()语句后,会停止执行,直到用户点了alert的确认按钮后才会继续。