JavaScript基础教程
一、什么是JavaScript
什么是脚本程序?
嵌入HTML中的程序语言就称为脚本语言。
浏览器中集成有用于解释脚本程序的模块,这种模块称为脚本引擎或编译器。
简而言之:脚本语言是用于编写嵌入在网页文档中的程序,它由浏览器负责解释和执行,可以在网页上产生动态的显示效果和实现与用户交互的特效功能。
脚本程序位置:
脚本程序代码放HTML文档的<script></script>标签对之间
脚本程序执行时间:
打开网页时,浏览器会按顺序逐句解释HTML标签和脚本代码块,若脚本块中有可执行的语句,浏览器解释到该语句则立即执行。
最常见的两种脚本语言:
JavaScript
VBScript----microsoft产品,与VB比较像,是ASP服务器端程序的编程语言。但Netscape公司的Navigator浏览器不支持。
区分:
客户(浏览器)端脚本语言 |
浏览器上运行,与www服务器没有任何关系。 |
服务器端脚本语言 |
|
JavaScript简介:
前身Livescript ,Netscape产品。
JavaScript是一种基于对象(Object)和事件驱动(Event Driven),并具有安全性的脚本语言、解释性语言。
与C++、Java编程类似。
只是提供了一些专用的类、对象和函数。
JavaScript并不编译成二进制代码文件,而是作为HTML文件的一部分,由浏览器解释、执行。
JavaScript扩展了标准的HTML,为HTML标签增加了各种事件属性。
兴趣是学习的动力-----边学边做出点东西来!
基于对象 |
Object-based |
面向对象 |
Object-oriented |
二、JavaScript语法
Js位置:
1. 网页文件的<script></script>标签对之间。
2. 放于一个单独的文件,在网页文件中引用这个文件。 Src=”#” 方便模块化设计。
3. 作为某个元素的事件属性值或超链接的href属性值。用作URL的JavaScript代码前要加JavaScript:,以说明使用的是JavaScript协议。事件属性中不用加。
防止旧浏览器不识别<script>标签,中间用注释:<!-- -->
Js标识符
标识符就是Js中各种东西的名字:如变量名、函数名、数组名。
由大小写字母、数字、下划线和美元符号组成!
但不能以数字开头,不能是js中的保留关键字。
为什么第一个字母不能为数字?
如果第一个为数字,js很容易就把它当作数字处理了,那么命名就没意义了,js规定了后,就很容易的区分了标识符和数字了。
Js严格区分大小写
Js每条执行语句后必须用分号结束,一个单独的分号也表示一个空语句。
Js排版:每个词之间可用空格、制表符、换行符、大括号、小括号这样的分隔符隔开。作为属性值的Js代码的最后一句可省略分号。
Js注释: // 单行注释
/* 多行注释 */ 多行注释中可嵌套单行注释,但多行注释不可嵌套多行注释,它会把第一个*/作为注释结束标志。
基本数据类型:
3种基本的类型;数字,字符串和布尔值。
2种小数据类型:null 和 undefined . (为什么叫小数据类型?因为他们只定义了一个值)
1种复合类型:object. (在这个类型中,它的值可以是基本数据类型,也可以是复合类型,比如其他的object. )
注意:在对象中有一个特殊的对象----function.(它是一个可以执行代码的对象.)
其他的一些对象:
数组:
Date类 : 是日期的对象。
RegExp类: 正则表达式的对象。
Error 类:js中发生错误的对象。
常量:---与基本数据类型相对应
常量又称字面常量,不能改变数据。程序中直接显示出来的数据值。
1. 整型常量 2. 实型常量 3. 布尔值
4. 字符串型常量
用单引号或双引号引起来的若干字符。一个字符串中不包含任何字符也是可以的,’’表示一个空字符串,字符串中的特殊符号需要用转义字符 \ 。如:
\r --接受键盘输入 相当于回车键。
\n \t \b \’ \” \\
Js中没字符常量。
Js一个连续的字符串不能分成两行写,可以分成连个字符串用+号连起来。
5. null常量:表示一个变量所指向的对象为空。
6. undefined常量:变量还没赋值或对象的某个属性不存在。未知状态。
变量:
在程序运行期间,程序可以向系统申请分配若干内存单元,用来存储各种类型的数据。
系统分配的内存单元要使用一个标记符来标识,并且其中的数据是可以更改的,所以称为变量。
(标记内存单元的)标记符就是变量名, (内存单元所装载的) 数据就是变量值。
程序可以通过变量名来表示这块内存中的数据。
弱类型 (使用或赋值时自动确定数据类型)
声明变量使用var关键字
运算符:
算术 + - * 、/ % ++ --
赋值 = += -= *= /= %=
比较 > < >= <= == !=
逻辑 && || !
位 & | ^ << >> >>> 用到再查吧
程序的流程控制:
顺序结构 ----程序的基本结构
选择结构
If条件选择语句:
1. If(条件语句){执行语句}
如果定义一个变量X,但是没有赋值,则X的值为undefined,可以使用if(x==null)或者if(typeof(x)==“undefined”) 判断X的值,也可以简写为if(!x)。
2. If(条件语句){执行语句}
Else{执行语句}
简写:变量=布尔表达式?语句1:语句2 。
3. if(条件语句){执行语句}
Elseif(条件语句){执行语句}
Elseif(条件语句){执行语句}
………………..
Else{执行语句} //可以省略
4.if语句的嵌套
但嵌套时最好用{}确定层次关系。
Switch选择语句:
Switch(表达式)
{
Case 取值1:
语句块1
Break;
…
Case 取值n
语句块n
Break;
Default
语句块 n+1
Break;
}
执行Case取值以下的代码,直到遇到Break; Default可选,其中的Break也可选;Case语句后可以跟多条执行语句,这些语句可以不用大括号括起来。
循环结构
While循环语句:
While(条件语句){执行语句}
条件为真执行{}中语句,执行完后再次检测条件语句,若真执行{},直至条件为false;
注意:While(条件语句)后一定不要加分号,如果加了分号后则认为是一个没有执行语句或执行语句为空的while循环,大括号中的代码不再是while语句的一部分,如条件为真则成为一个死循环。
Do while 循环语句:
与while语句相似,不同点:至少执行一次,第一次不判断条件。While条件语句后有个分号。
For循环语句:
For(初始化表达式; 循环条件表达式 ; 循环后的操作表达式){执行语句块}
初始化表达式只在第一次执行一次,循环后的操作表达式是在每次循环完成后即将进入下一轮条件判断前执行,满足循环条件,执行{},直至不满足循环条件。
其他变形:
Var x=1 for(;;){循环条件…. Break;循环后操作表达式} 无限循环语句,需要Break跳出。
For in循环语句
。。。。。。。。。。。
区别Break与continue
Continue:结束本次循环(要执行的剩余语句),继续下一次循环,只能出现在while、do while 、 for 循环中。
Break:中止循环体中的执行语句和Switch语句。无标号跳出所在最内层循环,有标号跳出标号循环。
函 数
函数的定义与调用:
Function 函数名 (参数列表)
{程序代码
Return表达式}
参数列表各变量用逗号分开,没参数时也不能省略后面的小括号,