JavaScrpt

来源:互联网 发布:手机电脑文件软件 编辑:程序博客网 时间:2024/05/17 05:06

一、javaScript入门

1.认识JavaScript

JavaScript是一种可以用来给网页增加交互性的编程语言(脚重点内容本语言)。它由LiveScript改名而来,可能是为了更好地推广这个脚本语言(利用Java语言的知名度),因此Netscape公司在最后一刻决定将它改名为JavaScript,但其实与Java没有什么关系。JavaScript是一种基于客户端浏览器的(现在也有服务器端,如NodeJS),基于对象、事件驱动式的脚本语言。JavaScript也具有跨平台的特点。如同所有的脚本语言,JavaScript是动态解释执行的。

JavaScript是由Netscape公司发明的,最后交给欧洲计算机制造商协会(ECMA),之后ECMA将JavaScript标准化。在没有JavaScript之前,互联网页面都是静态内容,就像一张张写满内容的纸,Netscape公司为了丰富互联网功能,所以在浏览器中扩展了JavaScript支持,这样就大大扩展了互联网页面的功能,使得互联网可以拥有丰富多彩的动画和用户交互,所以其代码通常会嵌入在HTML页面中。

1.1 什么是JavaScript

JavaScript是基于对象和事件驱动的语言,应用与客户端。

  • 基于对象:
    • java是面向对象,使用对象需要创建
    • js里面提供好了一些对象,直接使用
  • 事件驱动:
    • 每次滑动鼠标,变换图片
  • 客户端:
    • 指的是浏览器

1.2 JavaScript的特点

  • 交互性、安全性(JavaScript不能访问本地硬盘里面的文件)、跨平台性:
  • 解释型脚本语言:
    • 程序不需要编译。
    • 运行时才翻译成机器语言。
    • 每执行一次就要翻译一次。所以,其效率低,并且依赖于解释器(如google的v8引擎),但是具有跨平台性(在各种浏览器下都支持,并且在windows、linux等各个操作系统都能运行)。
  • 弱类型语言,其变量在使用之前无须声明,由解释器在运行时检查其数据类型。

编译型语言: 程序在执行之前 需要一个专门的编译过程 ,把程序编译成为机器语言 的文件,运行时不需要重新翻译,直接使用编译结果就行了。
程序执行效率高 ,依赖编译器,跨平台性差。如C、C++等等。

1.3 JavaScript和Java的区别

  • Javasun公司,现在是Oracle;JavaScript是网景公司
  • Java是面向对象的语言,javaScript是基于对象的语言
  • Java跨平台需要依靠虚拟机实现,JavaScript只需要浏览器可以运行
  • JavaScript弱类型语言,java是强类型的语言
    • 比如在Java里面定义一个变量int a = 10;int b = "10";不正确
    • JavaScript里面定义变量都是使用一个关键字var a = 10;var b = "10"; var c = true;
  • Java运行先编译通过虚拟机运行,JavaScript直接使用浏览器运行

1.4 JavaScript由三部分组成

  • 第一部分:ECMAScript
    • ECMA组织制定语句,语法
  • 第二部分:BOM
    • broswer object model:浏览器对象模型
  • 第三部分:DOM
    • document object model:文档对象模型

1.5 js和html的结合方式(两种)

第一种:使用html中的标签<script type="text/javascript"> js代码 </script>

<script type="text/javascript">    alert("aaa");</script>

第二种:使用html的标签,引入外部的js文件

<script type="text/javascript" src="js文件的路径"></script>

使用第二种方式的时候有两点注意:

  • 注意一:不要在script标签里面写js代码了,不会执行
  • 结束script标签 </script>,不要在标签内结束

代码

    <script type="text/javascript" src="1.js">    //不要在script标签里面写js代码了,不会执行    alert("aaa");    </script>

2.JavaScript语法

2.1 注释

//单行注释/*多行注释*/

2.2 区分大小写

JavaScript是区分大小写的语言,关键字、变量、函数名和所有的标识符都必须采取一致大小写形式。比如,关键字“while”和“WHILE”是完全不一样的。

2.3 关键字

js把一些标识符拿出来用作自己的关键字。因此,就不能再程序中把这些关键字用作标识符了。

break     delete   function    return typeofcase      do       if          switch varcatch     else     in          this   voidcontinue  flase    instanceof  throw  whiledebugger  finally  new         true   withdefault   for      null        try//在当前版本没有使用(也作为关键字),但是在未来版本可能会使用到的一些关键字class const enum export import super//此外,下面这些关键字在普通的JavaScript代码中是合法的,但是在【严格模式】下是保留字implements let private public yieldinterface package protected static//【严格模式】同样对下面的标识符的使用做了严格限制,它们并不完全是保留字,但不能用做变量名、函数名和参数名arguments eval//【java】中的一些关键字abstract double  goto       native     staticboolean  enum    implements package    superbyte     export  import     private    synchronizedchar     extends int        protected  throwsclass    final   interface  public     transientconst    float   long       short      volatile//js中预定义的一些【全局变量】和【函数】,应当避免把它们的名字用做变量名和函数名arguments  encodeURI          Infinity  Number     RegExpArray      encodeURIComponent isFinite  Object     StringBoolean    Error              isNaN     parseFloat SyntaxErrorDate       eval               JSON      parseInt   TypeErrordecodeURI  EvalError          Math      RangeError undefineddecodeURIComponent  Function  NaN   ReferenceError URIError

2.4 标识符

标识符就是用来对变量和函数进行命名,或者用做JavaScript代码中某些循环语句中的跳转位置的标识。

标识符必须遵循以下规则:

  • 标识符不能使用关键字
  • 标识符可以包含字母、数字0-9、下划线(_)或美元符号($)。
  • 标识符的第一个字符必须是一个字母、下划线或美元符号。
  • 标识符是区分大小写的,并且没有规定最大长度。

如下标识符是合法的:

identifier userName1 User_name _sys_var1 $change Public

如下标识符不合法:

1_Name *system public

0 0