第1章 JavaScript基础

1.1  为何学习JavaScriptjavascript

JavaScript在网页制做中占有很是重要的地位。前端

一、 客户端表单验证java

网站中常常见到的会员登陆、注册,咱们填写登陆、注册信息时,若是某项信息格式输入错误,或没有输入内容,表单页面将及时给出错误提示。这些错误在提交到服务器前,由客户端提早进行验证,称为客户端表单验证。编程

二、 页面动态效果数组

JavaScript中,能够编写响应鼠标单击等事件的代码,建立动态页面特效,从而高效地控制页面的内容。浏览器

虽然JavaScript能够实现许多动态效果,但要实现一个特效代码量大,而使用jQuery(JavaScript程序库)能够用极少的代码实现一样的效果。安全

三、 jQuery基础服务器

JavaScript是学习jQuery的基础。网络

1.2 什么是JavaScriptapp

JavaScript是一种描述性语言,也是一种基于对象(Object)和事件驱动(Event Driven)的,并具备安全性能的脚本语言。它与HTML(超文本标记语言)一块儿,在一个Web页面中连接多个对象,与Web客户实现交互。不管在客户端仍是在服务器端,JavaScript应用程序都要下载到浏览器的客户端执行,从而减轻了服务器端的负担。

特色:

→ JavaScript主要用来在HTML页面中添加交互行为。

→ JavaScript是一种脚本语言,语法和Java相似。

→ JavaScript通常用来编写客户端的脚本。

→ JavaScript是一种解释性语言,边执行边解释。

ECMAScript是一种脚本语言的标准,JavaScript语言就是遵循ECMAScript标准的一种实现。

1.2.1 JavaScript的组成

一个完整的JavaScript由三个部分组成:ECMAScriptBOMCOM

一、 ECMAScript标准

ECMAScript是一种开放的、被国际上广为接受的、标准的脚本语言规范。它不与任何具体的浏览器绑定。ECMAScript标准主要描述了如下内容:

→ 语法。

→ 变量和数据类型。

→ 运算符。

→ 逻辑控制语句。

→ 关键字、保留字。

→ 对象。

ECMAScript是一个描述,规定了脚本语言的全部属性、方法和对象的标准,所以在使用Web客户端脚本语言编码时必定要遵循ECMAScript标准。

二、 浏览器对象模型

浏览器对象模型(Browser Object Model,BOM),提供了独立于内容与浏览器窗口进行交互的对象,使用浏览器对象模型能够实现与HTML的交互,如网上常见的弹出窗口、前进后退等功能都是浏览器对象控制的。

三、 文档对象模型

文档对象模型(Document Object Model,DOM),是HTML文档对象模型(HTML DOM)定义的一套标准方法,用来访问和操纵HTML文档,如网上商城常见的随鼠标移动显示大的图片、弹出小提示等都是文档对象的功劳。

1.2.2 JavaScript的基本结构

JavaScript代码是用<script>标签嵌入HTML文档中。浏览器遇到<script>标签时,将逐行读取内容,直到遇到</script>结束标签为止。而后,浏览器将检查JavaScript语句的语法,若是有任何错误,则会在警告框中显示;若是没有错误,则浏览器将编译并执行语句。

一、 JavaScript的基本结构

JavaScript的基本结构以下:

<script type=”text/javascript”>

JavaScript语句;

</script>

其中type<script>标签的属性,用于指定文本使用到的语言类别为text/javascript

注意:有的网页中用默认text/javascript”,这种写法是正确的,由于HTML5中可省略type属性,HTML5默认为text/javascript

document.write()用来向页面输出能够包含HTML标签的内容。

经验:

若是不使用<script>标签,浏览器就会将document.write(“<h1>Hello,JavaScript</h1>”)看成纯文原本处理,也就是说会把这条命令自己写到页面上。

→ <script>…</script>的位置并非固定的,能够包含在文档的任何地方,只要保证这些代码在被使用前已读取并加载到内存便可。

二、 JavaScript的执行原理

JavaScript的执行过程当中,浏览器客户端与应用服务器端采用请求/响应模式进行交互。

(1) 浏览器客户端向服务器端发送请求:一个用户在浏览器的地址栏中输入要访问的页面(页面中包含JavaScript程序)。

(2) 数据处理:服务器端将某个包含JavaScript的页面进行处理。

(3) 发送响应:服务器端将含有JavaScriptHTML文件处理页面发送到浏览器客户端,而后由浏览器客户端从上而下逐条解析HTML标签和JavaScript,并将页面效果呈现给用户。

使用客户端脚本的好处:

(1) 包含JavaScript的页面只要下载一次便可,这样能减小没必要要的网络通讯。

(2) JavaScript程序由浏览器客户端执行,而不是由服务器端执行,所以能减轻服务器端的压力。

1.2.3 在网页中引用JavaScript的方式

JavaScript做为客户端程序,嵌入网页时有如下三种方式。

内部JavaScript文件。

使用外部JavaScript文件。

直接在HTML标签中。

一、 内部JavaScript文件

直接使用<script>标签将JavaScript代码加入HTML文档中。这是最经常使用的方式,但这种方式一般适用于JavaScript代码较少,而且网站中的每一个页面使用的JavaScript代码均不相同的状况。

二、 使用外部JavaScript文件

外部JavaScript文件是将JavaScript代码写入一个外部文件中,以*.js为扩展名保存,而后将该文件指定给<script>标签中的“src”属性,这样就可使用这个外部文件了。这种方式适用于在若干个页面实现相同的JavaScript效果。

不管是使用<script>标签在网页中编写JavaScript代码,仍是引用js文件,浏览器都会按照<script>标签在页面中出现的前后顺序对它们依次进行解析。所以若是将<script>标签放在<head>中,那么意味着必须等到所有JavaScript代码被下载、解析和执行完成以后,才开始呈现网页内容,这样对于许多包含JavaScript代码的页面来讲,会致使浏览器呈现页面时出现明显的延迟,而延迟期间浏览器窗口将一片空白。为了不这个问题,如今许多网页开发者会把<script>标签放在<body>中,而且放在页面内容的后面。

注意:外部文件不能包含<script>标签,一般将扩展名为.js的文件放到网站目录中单独存放脚本的子目录中(通常为js),这样容易管理和维护。

三、 直接在HTML标签中

有时须要在页面中加入简短的JavaScript代码实现一个简单的页面效果,如单击按钮时弹出一个对话框等,这样一般会在按钮事件中加入JavaScript处理程序。

<input name=”btn” type=”button” value=”弹出消息框 onclick=”javascript:alert(‘欢迎你);”/>

onclick是单击的事件处理程序,当用户单击按钮时,就会执行执行“javascript:”后面的JavaScript命令,alert()是一个函数,相似Java中的方法,做用是向页面弹出一个对话框。

这三种方式的应用场合。

内部JavaScript文件适用于JavaScript特效代码量少,仅用于单个页面。

外部js文件则适用于代码较多,重复应用于多个页面。

直接在标签中写JavaScript则适合于极少代码,仅用于当前标签,可是这种方式增长了HTML代码,所以这种方式在实际开发中应用较少。

1.3 JavaScript核心语法

1.3.1 变量的声明和赋值

JavaScript是一种弱类型语言,没有明确的数据类型,也就是说,在声明变量时,不须要指定变量的类型,变量的类型由赋给变量的值决定。

JavaScript中,变量是使用关键字var声明的。

语法:

var 合法的变量名;

其中var是声明变量所使用的关键字;“合法的变量名”是遵循JavaScript变量命名规则的变量名。JavaScript变量命名规则与Java变量命名规则相同,便可以由数字、字母、下划线和“$”符号组成,但首字母不能是数字,而且不能使用关键字命名。能够在声明变量的同时为变量赋值,这称为变量的初始化;也能够在稍后的脚本中为变量赋值。

声明变量的同时为变量赋值,例如:

var width=20;//在声明变量width的同时,将数值20赋给了变量width

var x,y,z=10;//在一行代码中声明多个变量时,各变量之间用逗号分隔

JavaScript区分大小写,因此大小写不一样的变量名表示不一样的变量。另外,因为JavaScript是一种弱类型语言,所以容许不声明变量而直接使用,系统将会自动声明该变量,例如:

x=68;//没有声明变量x,直接使用

规范

千万要注意JavaScript区分大小写,特别是变量的命名、语句关键字等,这种错误有时很难查找。

→ 变量能够不通过声明而直接使用,但这种方法很容易出错,也很难查找排错,所以不推荐使用,在使用变量以前,请先声明后使用,这是良好的编程习惯。

1.3.2 数据类型

经常使用的基本数据类型以下。

→ undefined(未定义类型)。

→ null(空类型)。

→ number(数值类型)。

→ String(字符串类型)。

→ boolean(布尔类型)。

一、 typeof

ECMAScript提供了typeof运算符来判断一个值或变量究竟属于哪一种数据类型。

语法:

typeof(变量或值)

其返回结果有如下几种。

→ undefined:若是变量是undefined类型的,则返回undefined类型的结果。

→ number:若是变量是number类型的,则返回number类型的结果。

→ string:若是变量是string类型的,则返回string类型的结果。

→ boolean:若是变量是boolean类型的,则返回boolean类型的结果。

→ object:若是变量是null类型的,或者变量是一种引用类型,如对象、函数、数组,则返回object类型的结果。

二、 undefined类型

undefined类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值是undefined。例如:

var width;

这行代码声明了变量width,且此变量没有初始值,将被赋予值undefined

三、 null类型

只有一个值的类型是null,是一个表示“什么都没有”的占位符,能够用来检测某个变量是否被赋值。值undefined其实是值null派生来的,所以JavaScript把它们定义为相等的,例如:

alert(null==undefined);//返回值为true

尽管这两个值相等,但它们的含义不一样,undefined表示声明了变量但未对该变量赋值,null则表示对该变量赋予了一个空值。

四、 number类型

JavaScript中定义的最特殊的类型是number类型,这种类型既能够表示32位的整数,又能够表示64位的浮点数。下面的代码声明了存放整数值和浮点数值的变量。

var iNum=32;

var iNum=32.0;

整数也能够表示为八进制或十六进制,八进制首数字必须是0,其后的数字能够是任何八进制数字(0~7);十六进制首数字也必须是0,后面是任意的十六进制数字和字母(0~9A~F)。

例如:

var iNum=070;//070等于十进制的56

var iNum=0x1f;//0x1f等于十进制的31

对于很是大或很是小的数,能够用科学计数法表示浮点数,也是number类型。另一个特殊值NaN(Not a Number)表示非数,它是number类型。例如:

typeof(NaN);//返回值为number

五、 String类型

1) 字符串定义

JavaScript中,字符串是一组被引号(单引号或双引号)括起来的文本。例如:

var string1=”This is a string”;//定义了一个字符串string1

Java不一样,JavaScript不对“字符”或“字符串”加以区别,所以下面的语句也定义了一个字符串。

var oneChar=”a”;//定义了只有一个字符“a”的字符串

2) 字符的属性与方法

JavaScript语言中的String也是一种对象。它也有一个length属性,表示字符串的长度(包括空格等),调用length的语法格式以下。

语法:

字符串对象.length;

var str=”this is JavaScript”;

var strLength=str.length;

JavaScript中,字符串对象的使用语法格式以下。

语法:

字符串对象.方法名();

String对象经常使用方法

方法

描述

indexOf()

查找某个指定的字符串在字符串中首次出现的位置

charAt(index)

返回在指定位置的字符

toLowerCase()

把字符串转化为小写

toUpperCase()

把字符串转化为大写

substring(index1,index2)

返回位于指定索引index1index2之间的字符串,而且包括索引index1对应的字符,不包括index2对应的字符

split(str)

将字符串分割为字符串数组

最经常使用的是indexOf(str,index)方法,若是找到了指定字符串,则返回索引位置,不然返回-1

index是可选的整数参数,表示从第几个字符开始查找。

六、 boolean类型

boolean类型数据被称为布尔型数据或逻辑型数据,boolean类型是ECMAScript中经常使用的类型之一,它只有两个值,truefalse

1.3.3 数组

Java中的数组同样,JavaScript中的数组也是具备相同数据类型的一个或多个值的集合。数组用一个名称存储一系列的值,用下标区分数组中的每一个值,数组的下标从0开始。

JavaScript中的数组也须要先建立、赋值,再访问数组元素,并经过数组的一些方法和属性对数组元素进行处理。

一、 建立数组

语法:

var 数组名称=new Array(size);

其中,new是用来建立数组的关键字,Array表示数组的关键字,而size表示数据中可存放的元素总数,所以size用整数来表示。

二、 为数组元素赋值

在声明数组时,能够直接为数组元素赋值。

语法:

var fruit=new Array(“apple”,”orange”,”peach”,”banana”);

也能够分别为数组元素赋值。例如:

var fruit = new Array(4);

fruit[0]=”apple”;

fruit[1]=”orange”;

fruit[2]=”peach”;

fruit[3]=”banana”;

另外,除了Array()对象外,数组还能够方括号“[”和“]”来定义。例如:

var fruit = [“apple”,”orange”,”peach”,”banana”];

三、 访问数组元素

能够经过数组的名称和下标直接访问数组的元素,访问数组的表示形式:数组名[下标]

四、 数组的经常使用属性和方法

数组的经常使用方法和属性

类别

名称

描述

属性

length

设置或返回数组中元素的数目

 方法

join()

把数组的全部元素放入一个字符串,经过一个分隔符进行分隔

sort()

对数组排序

push()

向数组末尾添加一个或多个元素,并返回新的长度

1) length

数组的length属性用于 返回数组中元素的个数,返回值为整型。若是在建立数组时就指定了数组的size值,那么不管数组元素中是否存储了实际数据,该数组的length值都是这个指定的长度值size。例如,var score=new Array(6);无论数组中的元素是否存储了实际数据,score.length的值老是6

2) join()

join()方法经过一个指定的分隔符把数组元素放在一个字符串中。

语法:

join(分隔符);

1.3.4 运算符号

经常使用的运算符

类别

运算符号

算术运算符

+-*/%==--

比较运算符

><>=<===!====!==

逻辑运算符

&&||!

赋值运算符

=+=-=

其中==表示等于===表示恒等!==表示不恒等,都是用于比较,可是==用于通常比较,===用于严格比较,==在比较时能够转换数据类型,===严格比较,只要数据类型不匹配就返回false。例如,”1”==true返回true,而”1”===true返回false

1.3.5 逻辑控制语句

逻辑控制语句分为两类:条件结构和循环结构。

一、 条件结构

Java同样,JavaScript的条件结构也分为if结构和switch结构。

1) if结构

基本语法格式以下。

语法:

if(表达式){

//JavaScript语句1;

}

else{

//JavaScript语句2;l

}

其中,当表达式的值为true时,执行JavaScript语句1,不然执行JavaScript语句2.

注意:若是ifelse后只有一条语句,则能够省略大括号;若是ifelse后有多行语句,则JavaScript语句必须括在大括号内。

2) switch结构

基本语法格式以下。

语法:

switch(表达式){

case 1:

//JavaScript语句1;

break;

case 2:

//JavaScript语句2;

break;

……

default:

//JavaScript语句n;

break;

}

Java相似,当用于等值的多分支比较时,使用switch语句可使程序的结构更加清晰。case表示条件判断,关键字break会使代码跳出switch语句,若是没有关键字break,代码就会继续执行,进入下一个case。关键字default说明表达式的结果不等于任何一种状况。

Java中的switch语句不一样的是,在JavaScript中的switch语句能够用于字符串。例如:

var weekday=”星期一;

switch(weekday){

case “星期一:

alert(“新的一周开始了);

break;

case “星期五:

alert(“明天就能够休息了);

break;

default:

alert(“努力工做);

break;

}

二、 循环结构

JavaScript中的循环结构分为for循环、while循环、do-while循环、for-in循环。

1) for循环语句

语法:

for(初始化;条件;增量或减量;){

//JavaScript语句;

}

其中,初始化参数告诉循环的开始值,必须赋予变量初值;条件用于判断循环是否终止,若知足条件,则继续执行循环体中的语句,不然跳出循环;增量或减量定义循环控制变量在每次循环时怎么变化。在三个条件之间,必须使用分号(;)隔开。

2) while循环语句

语法:

while(条件){

//JavaScript语句;

}

其特色是先判断后执行,当条件为真时,就执行JavaScript语句;当条件为假时,就退出循环。

3) do-while循环语句

语法:

do{

//JavaScript语句;

}while(条件);

该语句表示反复执行JavaScript语句,直到条件为假时才跳出循环。与while循环语句的区别在于,do-while循环语句先执行再判断。

4) for-in循环

JavaScript提供了for-in循环经常使用于对数组或者对象的属性进行循环操做。

语法:

for(变量 in 对象){

//JavaScript语句;

}

其中,“变量”为指定的变量,能够是数组元素,也能够是对象的属性。例如:

var fruit = [“apple”,”orange”,”peach”,”banana”];

for(var i in fruit){

document.write(fruit[i]+”<br/>”);

}

5) 中断循环

break:能够当即跳出整个循环。

continue:只是退出当前的循环,根据判断条件决定是否进行下一次循环。

1.3.6 注释

注释是描述部分程序功能或整个程序功能的一段说明性文字,注释不会被解释器执行,而是会被直接跳过。注释的功能是帮助开发人员阅读、理解、维护和调试程序。JavaScript语言的注释分为单行注释和多行注释两种。

单行注释,以//开始,以行末结束。

多行注释,以/*开始,以*/结束。

1.3.7 关键字和保留字

关键字标识了ECMAScript语句的开头和结尾,关键字是保留的,不能用做变量名或函数名。

JavaScript的关键字

关键字

关键字

关键字

关键字

关键字

break

case

catch

continue

default

delete

do

else

finally

for

function

if

in

instanceof

new

return

switch

this

throw

try

typeof

var

void

while

with

保留字在某种意义上是为未来的关键字而保留的单词所以保留字不能被用做变量名或函数名

JavaScript的保留字

保留字

保留字

保留字

保留字

保留字

abstract

boolean

byte

char

class

const

debugger

double

enum

export

extents

final

float

goto

implements

import

int

interface

long

native

package

private

protected

public

short

static

super

synshronized

throws

transient

volatile

 

 

 

 

 

1.3.8 经常使用的输入/输出

在网上冲浪时,页面上常常会弹出一些信息提示框,如注册时弹出提示输入信息的提示框,或者弹出一个等待用户输入数据的对话框等,这样的输入/输出在JavaScript中称为警告对话框(alert)和提示对话框(prompt)

一、 警告(alert)

语法:

alert(“提示信息);

该方法将弹出一个警告对话框,其内容能够是一个变量的值,也能够是一个表达式的值。

警告对话框是当前运行的网页弹出的,在对该对话框作出处理前,当前网页将不可用,后面的代码也不会被执行,只有对警告对话框进行处理后(单击“肯定”按钮或直接关闭),当前网页才会继续显示后面的内容。

二、 提示(prompt)

prompt()方法会弹出一个提示对话框,等待用户输入一行数据。

语法:

prompt(“提示信息,”输入框的默认信息);

该方法的返回值也能够被引用或存储到变量中,例如:

var color=prompt(“请输入你喜欢的颜色,”红色);

prompt()方法的第一个参数值显示在对话框上,一般是一些提示信息;第二个参数出如今用户输入的文本框中,且被选中,做为默认值使用。若是省略第二个参数,则提示对话框的输入文本框中会出现“undefined”,能够将第二个参数的值设置为空字符串,例如:

var color=prompt(“请输入你喜欢的颜色,””);

若是用户单击“取消”按钮或者直接关闭提示对话框,则该方法将返回null;若是用户单击“肯定”按钮,则该方法将返回一个字符串型数据。

1.3.9 语法约定

一、 大小写的区分

JavaScript区分大小写,大写字母和小写字母是不能互相替换的,几个基本规则以下。

→ JavaScript的关键字,如forif,永远都是小写的。

内置对象,如MathDate是以大写字母开头的。

对象的名称一般是小写,如fruit。但其方法常常是多个单词的大小写混合,一般第一个字母是小写,以后单词的首字母是大写,如charAt()

二、 变量、对象和函数的名称

当声明使用变量、对象或函数时,名称能够包括大写字母、小写字母、下划线和美圆符号($),可是必须以字母、下划线或美圆符号($)开头。

能够选择在变量名称中使用大写字母或小写字母,但必须牢记JavaScript是区分大小写的,countCountCOUNT是三个不一样的变量。

三、 分号

JavaScript容许开发者自行决定是否以分号结束一行代码,若是没有分号,JavaScript就将行代码的结尾看做该语句的结尾。但不推荐使用,由于不属于规范的代码编写风格。

1.4 程序调试

JavaScript中可使用Chrome调试工具和alert()方法两种方式调试程序。

1.4.1 Chrome开发人员工具

一、 语法错误的排除

使用Chrome浏览器打开HTML文件,按F12键进入脚本调试界面,表示开启运行时错误自动暂停功能,准肯定位出错脚本的位置;自动暂停按钮下方有一个选项,Pause On Caught Exception,若是选中,则即便发生运行时异常代码在try/catch范围内,Chrome开发者工具也可以在错误处停住。

Chrome的开发者工具经常使用八个大模块,每一个模块及其主要功能以下。

→ Elements:用于查看和编辑当前页面中的HTMLCSS元素。

→ Console:用于显示脚本中所输出的调试信息,或运行测试脚本等。

→ Sources:用于查看和调试当前页面所加载的脚本的源文件。

→ Network:用于查看HTTP请求的详细信息,如请求头、响应头及返回内容等。

→ TimeLine:用于查看脚本执行时间,页面元素渲染时间等信息。

→ Profiles:用于查看CPU执行时间与内存占用等信息。

→ Resource:用于查看当前页面所请求的资源文件,如HTMLCSS样式文件等。

→ Audits:用于优化前端页面,加速网页加载速度等。

二、 逻辑错误的排除

1) 肯定设置断点的位置

 

中止断点调试。

单步调试,不进入函数体内部。

单步调试,进入函数体内部。

跳出当前函数。

禁用全部的断点,不作任何调试。

2) 单步调试

3) 修改错误

1.4.2 alert()方法

经过alert()方法将不肯定的数据以信息框的方式展现,以此来判断出现错误的位置。

1.5 JavaScript经常使用语法——函数

JavaScript中,函数相似于Java中的方法,是执行特定功能的JavaScript代码块。可是JavaScript中的函数使用更简单,不用定义函数属于哪一个类,所以调用时不须要用“对象名.方法名()”的方式,直接使用函数名称来调用函数便可。

JavaScript中的函数有两种,一种是JavaScript自带的系统函数,另外一种是用户自行建立的自定义函数。

1.5.1 经常使用系统函数

JavaScript提供了两种把非数字的原始值转换成数字的函数,即parseInt()parseFloat()。另外,它还提供了一个检查是不是非数字的函数isNaN(),一般用于逻辑判断。

一、 parseInt()

parseInt()函数可解析一个字符串,并返回一个整数。

语法:

parseInt(“字符串)

从位置0开始查看每一个字符,若0处就不是有效数字,则返回

NaN,若0处是有效数字,直到找到第一个非有效的字符为止,而后把该字符以前的字符串转换为整数。

二、 parseFloat()

parseFloat ()函数可解析一个字符串,并返回一个浮点数。

语法:

parseFloat(“字符串”)

从位置0开始查看每一个字符,若0处就不是有效数字,则返回

NaN,若0处是有效数字,直到找到第一个非有效的字符为止,而后把该字符以前的字符串转换为浮点数。

对于这个函数来讲,第一个出现的小数点是有效字符,若是有两个小数点,那么第二个小数点被看做无效。

三、 isNaN()

isNaN()函数用于检查其参数是不是非数字。

语法:

isNaN(x)

若是x是特殊的非数字值,则返回值是true,不然返回false

经验:isNaN()函数一般用于检测parseInt()parseFloat()的结果,以判断它们表示的是不是合法的数字,也能够用isNaN()函数来检测算数是否错误,如用0做为除数的状况。

1.5.2 自定义函数

JavaScript须要先定义函数,而后才能调用函数。

一、 定义函数

JavaScript中,自定义函数由关键字function、函数名、一组参数及置于括号中的待执行的JavaScript语句组成。

语法:

function 函数名(参数1,参数2,参数3…){

//JavaScript语句;

[return返回值]

}

→ function是定义函数的关键字,必须有。

参数1、参数2等是函数的参数。由于JavaScript自己是弱类型,因此它的参数也没有类型检查和类型限定。函数中的函数是可选的,根据函数是否带参数,可分为不带参数的无参函数和有参函数。例如,无参函数:

function 函数名{

//JavaScript语句;

}

→ “{”和“}”定义了函数的开始和结束。

→ return语句用来规定函数返回的值。

二、 调用函数

要执行一个函数,必须先调用这个函数,当调用函数时,必须指定函数名及其后面的参数(若是有参数)。函数的调用通常和元素的事件结合使用。

语法:

事件名=”函数名()”;

无参函数例:

<input name="btn" type="button" value="显示5次欢迎学习JavaScript" onclick="study()"/>
<script type="text/javascript">
    function study(){
        for(var i=0;i<5;i++){
            document.write("<h4>欢迎学习JavaScript</h4>");
        }
    }
</script>

study()是建立的无参函数,onclick表示按钮的单击事件,当单击按钮时调用函数study()

有参函数例

<input name="btn" type="button" value="请输入显示欢迎学习JavaScript的次数" onclick="study(prompt('请输入显示欢迎学习JavaScript的次数:',''))"/>
<script type="text/javascript">
    function study(count){
        for(var i=0;i<count;i++){
            document.write("<h4>欢迎学习JavaScript</h4>");
        }
    }
</script>

count表示传递的参数,不须要定义数据类型,将prompt()方法返回的值做为参数传递给函数study(count)

1.5.3 变量的做用域

Java中的变量同样,在JavaScript中,根据变量做用范围不一样,可分为全局变量和局部变量。

JavaScript中的全局变量,是在全部函数以外的脚本中声明的变量,做用范围是该变量定义后的全部语句,包括其后定义的函数中的代码,以及其后的<script></script>标签中的代码。

JavaScript中的局部变量,是在函数内声明的变量,只有在该函数中且位于该变量以后的代码中可使用这个变量。

1.5.4 事件

事件是使用JavaScript实现网页特效的灵魂内容,当与浏览器进行交互的时候浏览器就会触发各类事件,来完成网页中的各类特效。

常见的事件

名称

说明

onload

一个页面或一副图像完成加载

onclick

鼠标单击某个对象

onmouseover

鼠标指针移到某元素上

onkeydown

某个键盘按键被按下

onchange

域的内容被改变

 

 

补充:

一、数组。默认用英文逗号分隔。

<script type="text/javascript">
    var arr = ["apple","orange","banana"];
    document.write(arr);
</script>

运行结果:

 

二、数组。不会出现数组越界,与java中集合相似。

三、document.write(“使用\”-\”从新链接后”);

双引号中用双引号须要用“\”。

相关文章
相关标签/搜索