JavaScript很基本语法.docx
《JavaScript很基本语法.docx》由会员分享,可在线阅读,更多相关《JavaScript很基本语法.docx(18页珍藏版)》请在冰豆网上搜索。
JavaScript很基本语法
啊啊
JavaScript基础及JavaScript基本语法
JavaScript基础—语言概况
前面使用html和css样式只能制作静态网页,给用户提供的都只是一些静态的资源
JavaScript由Netscape公司开发,是一种网页的脚本编程语言,同时也是一种基于对象而又可以被看做是面向对象的一种编程语言,它支持客户端与服务器端的应用程序以及构建的开发。
JavaScript基础—语言的特点
1、是一种脚本编写语言:
JavaScript是一种脚本语言,它采用小程序段的方式实现编程。
像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。
它的基本结构形式与C、C++、VB、Delphi十分类似。
但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。
它与HTML标识结合在一起,从而方便用户的使用操作。
2、基于对象的语言:
JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。
这意味着它能运用自己已经创建的对象。
因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
3、简单性:
JavaScript的简单性主要体现在:
首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。
其次它的变量类型是采用弱类型,并未使用严格的数据类型。
4、安全性:
JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。
从而有效地防止数据的丢失。
5、动态性的:
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。
它对用户的反映响应,是采用以事件驱动的方式进行的。
所谓事件驱动,就是指在主页(HomePage)中执行了某种操作所产生的动作,就称为“事件”(Event)。
比如按下鼠标、移动窗口、选择菜单等都可以视为事件。
当事件发生后,可能会引起相应的事件响应。
6、跨平台性:
JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。
从而实现了“编写一次,走遍天下”的梦想。
实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。
无须有高性能的电脑,软件仅需一个字处理软件及一浏览器,无须WEB服务器通道,通过自己的电脑即可完成所有的事情。
综合所述JavaScript是一种新的描述语言,它可以被嵌入到HTML的文件之中。
JavaScript语言可以做到回应使用者的需求事件(如:
form的输入),而不用任何的网路来回传输资料,所以当一位使用者输入一项资料时,它不用经过传给伺服端(server)处理,再传回来的过程,而直接可以被客户端(client)的应用程式所处理。
JavaScript和Java的区别
谈到JavaScript人们往往会想起Java了,虽然JavaScript与Java有紧密的联系,Java是一种比JavaScript更复杂许多的程式语言,而JavaScript则是相当容易了解的语言。
JavaScript创作者可以不那么注重程式技巧,所以许多Java的特性在JavaScript中并不支援,同时两者却是两个公司开发的不同的两个产品。
Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展NetscapeNavigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言,它的前身是LiveScript;而Java的前身是Oak语言。
JavaScript代码的加入
JavaScript提供脚本语言的编程与C++非常相似,它只是去掉了C语言中有关指针等容易产生的错误,并提供了功能强大的类库。
对于已经具备C++或C语言的人来说,学习JavaScript脚本语言是一件非常轻松愉快的事。
我们可以通过一个例子,编写第一个JavaScript程序。
通过它可说明JavaScript的脚本是怎样被嵌入到HTML文档中的。
JavaScript的脚本包括在HTML中,它成为HTML文档的一部分。
与HTML标识相结合,构成了一个功能强大的Internet网上编程语言。
可以直接将JavaScript脚本加入文档:
可以直接将JavaScript脚本加入文档:
JavaScript语言代码;
JavaScript语言代码;
....
说明:
通过标识指明JavaScript脚本源代码将放入其间。
通过属性Language="JavaScript"说明标识中是使用的是何种语言,这里JavaScript语言,表示在JavaScript中使用的语言。
嵌入JavaScript的事例
--
document.write("这是一个嵌入JavaScript的事例");
-->
说明:
Document.write()是文档对象的输出函数,其功能是将括号中的字符或变量值输出到窗口;document.close()是将输出关闭。
可将标识放入到
..或...之间。
可将JavaScript标识放置
...在头部之间。
使之在主页和其余部分代码之前装载,从而可使代码的功能更强大;可以将JavaScript标识放置在
...主体之间以实现某些部分动态地创建文档。
JavaScript基本数据类型
JavaScript脚本语言同其它语言一样,有它自身的基本数据类型、表达式和算术运算符以及程序的基本框架结构。
JavaScript提供了四种基本的数据类型用来处理数字和文字,而变量提供存放信息的地方,表达式则可以完成较复杂的信息处理。
1、基本数据类型
在JavaScript中四种基本的数据类型:
数值(整数和实数)、字符串型(用""号或''括起来的字符或数值)、布尔型(使True或False表示)和空值。
2、常量
·整型常量
JavaScript的常量通常又称字面常量,它是不能改变的数据。
其整型常量可以使用十六进制、八进制和十进制表示其值。
·实型常量
实型常量是由整数部分加小数部分表示,如12.32、193.98。
可以用科学或标准方法表示:
5E7、4e5等。
·布尔值
布尔常量只有两种状态:
True或False。
它主要用来说明或代表一种状态或标志,以说明操作流程。
·字符型常量
使用单引号(')或双引号(")括起来的一个或几个字符。
如"ThisisabookofJavaScript"、"3245"、"ewrt234234"等。
·空值
JavaScript中有一个空值null,表示什么也没有。
如试图引用没有定义的变量,则返回一个Null值。
3、变量
变量的主要作用是存取数据、提供存放信息的容器。
对于变量必须明确变量的命名、变量的类型、变量的声明及其变量的作用域。
·变量的命名
JavaScript中的变量命名同其计算机语言非常相似,这里要注意以下两点:
A、必须是一个有效的变量,即变量以字母开头,中间可以出现数字如test1、text2等。
除下划线(-)作为连字符外,变量名称不能有空格、(+)、(-)、(,)或其它符号。
B、不能使用JavaScript中的关键字作为变量。
在JavaScript中定义了40多个关键字,这些关键是在其内部使用的,不能作为变量的名称。
如Var、int、double、true不能作为变量的名称。
在对变量命名时,最好把变量的意义与其代表的意思对应起来,以免出现错误。
·变量的类型
在JavaScript中,变量可以用命令Var作声明:
varmytest;
该例子定义了一个mytest变量。
但没有赋予它的值。
Varmytest="Thisisabook"
该例子定义了一个mytest变量,同时赋予了它的值。
在JavaScript中,变量以可以不做声明,而在使用时再根据数据的类型来确定其变量的类型。
例如:
x=100、y="125"、xy=True、cost=19.5等。
其中x整数,y为字符串,xy为布尔型,cost为实型。
·变量的声明及其作用域
JavaScript变量可以在使用前先声明,并可赋值。
通过使用var关键字对变量作声明。
对变量作声明的最大好处就是能及时发现代码中的错误;因为JavaScript是采用动态编译的,而动态编译是不易发现代码中的错误,特别是变量命名的方面。
对于变量还有一个重要性──那就是变量的作用域。
在JavaScript中同样有全局变量和局部变量。
全局变量是定义在所有函数体之外,其作用范围是整个函数;而局部变量是定义在函数体之内,只对其该函数是可见的,而对其它函数则是不可见的。
JavaScript表达式和运算符
1、表达式
在定义完变量后,就可以对它们进行赋值、改变、计算等一系列操作,这一过程通常又叫称一个叫表达式来完成,可以说它是变量、常量、布尔及运算符的集合,因此表达式可以分为算术表述式、字串表达式、赋值表达式以及布尔表达式等。
2、运算符
JavaScript程序控制流
在任何一种语言中,程序控制流是必须的,它能使得整个程序减小混乱,使之顺利按其一定的方式执行。
下面是JavaScript常用的程序控制流结构及语句:
1、if条件语句
基本格式:
if(表述式)
语句段1;
......
else
语句段2;
....
功能:
若表达式为true,则执行语句段1;否则执行语句段2。
说明:
if-else语句是JavaScript中最基本的控制语句,通过它可以改变语句的执行顺序。
表达式中必须使用关系语句,来实现判断,它作为一个布尔值来估算的。
它将零和非零的数分别转化成false和true。
若if后的语句有多行,则必须使用花括号将其括起来。
if语句的嵌套格式:
if(布尔值)语句1;
else(布尔值)语句2;
elseif(布尔值)语句3;
……
else语句4;
在这种情况下,每一级的布尔表述式都会被计算,若为真,则执行其相应的语句,否则执行else后的语句。
If语句的小程序
varactivedate=newDate();
activehour=activedate.getHours()
if(activehour<12){
document.write("早上好"+"
")
}else{
document.write("下午好"+"
")
}
例子用先定义了一个变量activedate并用newDate函数取得当前的时间,然后通过的变量activehour取得当前的小时数,通过与12比较来确定是“早上”还是“下午”再用If语句分别执行相应的语句程序,即问“早上好”或“下午好”。
2、for循环语句
基本格式:
for(初始化;条件;增量)
语句集;
功能:
实现条件循环,当条件成立时,执行语句集,否则跳出循环体。
说明:
初始化参数告诉循环的开始位置,必须赋予变量的初值;条件是用于判别循环停止时的条件。
若条件满足,则执行循环体,否则出。
增量:
主要定义循环控制变量在每次循环时按什么方式变化。
三个主要语句之间,必须使用逗号分隔。
3、while循环
基本格式:
while(条件)
语句集;
说明:
该语句与For语句一样,当条件为真时,重复循环,否则退出循环。
For与while语句两种语句都是循语句,使用For语句在处理有关数字时更易看懂,也较紧凑;而while循环对复杂的语句效果更特别。
循环语句事例
varsum=0
for(n=1;n<11;n++)
{
sum=sum+n
document.write(n,"SUM=",sum,"
");
}
同样的效果也可以用while循环语句做出来,其代码如下(也可以通过查看源代码看到两者的区别):
循环语句事例
varsum,i;
i=1;
sum=0
while(i<=10){
sum+=i;
document.write(i,"SUM=",sum,"
");
i++;
}
JavaScript函数
函数为程序设计人员提供了一个丰常方便的能力。
通常在进行一个复杂的程序设计时,总是根据所要完成的功能,将程序划分为一些相对独立的部分,每部分编写一个函数。
从而,使各部分充分独立,任务单一,程序清晰,易懂、易读、易维护。
JavaScript函数可以封装那些在程序中可能要多次用到的模块。
并可作为事件驱动的结果而调用的程序。
从而实现一个函数把它与事件驱动相关联。
这是与其它语言不一样的地方。
1、JavaScript函数定义
Function函数名(参数,变元)
{
函数体;.
Return表达式;
}
说明:
当调用函数时,所用变量或字面量均可作为变元传递。
函数由关键字Function定义。
函数名:
定义自己函数的名字。
参数表,是传递给函数使用或操作的值,其值可以是常量,变量或其它表达式。
通过指定函数名(实参)来调用一个函数。
必须使用Return将值返回。
函数名对大小写是敏感的。
2、函数中的形式参数:
在函数的定义中,我们看到函数名后有参数表,这些参数变量可能是一个或几个。
那么怎样才能确定参数变量的个数呢?
在JavaScript中通过arguments.Length可以检查参数的个数。
例:
Functionfunction_Name(exp1,exp2,exp3,exp4)
Number=function_Name.arguments.length;
if(Number>1)
document.write(exp2);
if(Number>2)
document.write(exp3);
if(Number>3)
document.write(exp4);
JavaScript事件驱动及事件处理
1、基本概念
JavaScript是基于对象(object-based)的语言。
这与Java不同,Java是面向对象的语言。
而基于对象的基本特征,就是采用事件驱动(event-driven)。
它是在用图形界面的环境下,使得一切输入变化简单化。
通常鼠标或热键的动作我们称之为事件(Event),而由鼠标或热键引发的一连串程序的动作,称之为事件驱动(EventDriver)。
而对事件进行处理程序或函数,我们称之为事件处理程序(EventHandler)。
2、事件处理程序
在JavaScript中对象事件的处理通常由函数(Function)担任。
其基本格式与函数全部一样,可以将前面所介绍的所有函数作为事件处理程序。
格式如下:
Function事件处理名(参数表){
事件处理语句集;
……
}
3、事件驱动
JavaScript事件驱动中的事件是通过鼠标或热键的动作引发的。
它主要有以下几个事件:
(1)单击事件onClick
当用户单击鼠标按钮时,产生onClick事件。
同时onClick指定的事件处理程序或代码将被调用执行。
通常在下列基本对象中产生:
button(按钮对象)
checkbox(复选框)或(检查列表框)
radio(单选钮)
resetbuttons(重要按钮)
submitbuttons(提交按钮)
例如可通过下列按钮激活change()文件:
在onClick等号后,可以使用自己编写的函数作为事件处理程序,也可以使用JavaScript中内部的函数。
还可以直接使用JavaScript的代码等。
例:
(2)onChange改变事件
当利用text或texturea元素输入字符值改变时发该事件,同时当在select表格项中一个选项状态改变后也会引发该事件。
例:
(3)选中事件onSelect
当Text或Textarea对象中的文字被加亮后,引发该事件。
(4)获得焦点事件onFocus
当用户单击Text或textarea以及select对象时,产生该事件。
此时该对象成为前台对象。
(5)失去焦点onBlur
当text对象或textarea对象以及select对象不再拥有焦点、而退到后台时,引发该文件,他与onFocas事件是一个对应的关系。
(6)载入文件onLoad
当文档载入时,产生该事件。
onLoad一个作用就是在首次载入一个文档时检测cookie的值,并用一个变量为其赋值,使它可以被源代码使用。
(7)卸载文件onUnload
当Web页面退出时引发onUnload事件,并可更新Cookie的状态。
一个JavaScript的测试程序
--
functionkkk(){
do{
username=prompt("请问您是何方神圣,报上名来","");
}while(username=="")
document.write(username,",久仰大名,请多多关照!
");
}
//-->
"name=button1onClick="kkk()">
说明:
这个HTML页的起始页,上面只有一个元素,即一个按钮。
如果不设置任何事件,但单击该按钮后不会有任何反应。
但现在,定义了单击按钮的onClick事件,并把事件交给了脚本程序KKK()处理。
着是实现交互的第一步。
接着,用户单击按钮后,浏览器中将出现一个JavaScript的对话框,框中提示用户输入姓名。
这时,只要输入姓名并且单击“确定”按钮,就可以看到浏览器的显示结果。
JavaScript对象的基本知识、途径
JavaScript语言是基于对象的(Object-Based),而不是面向对象的(object-oriented)。
之所以说它是一门基于对象的语言,主要是因为它没有提供像抽象、继承、重载等有关面向对象语言的许多功能。
而是把其它语言所创建的复杂对象统一起来,从而形成一个非常强大的对象系统。
虽然JavaScript语言是一门基于对象的,但它还是具有面向对象的基本特征。
它可以根据需要创建自己的对象,从而进一步扩大JavaScript的应用范围,增强编写功能强大的Web文档。
对象的基本知识
JavaScript中的对象是由属性(properties)和方法(methods)两个基本的元素的构成的。
前者是对象在实施其所需要行为的过程中,实现信息的装载单位,从而与变量相关联;后者是指对象能够按照设计者的意图而被执行,从而与特定的函数相联。
对象的途径
一个对象要真正地被使用,可采用以下几种方式获得:
·引用JavaScript内部对象;
·由浏览器环境中提供;
·创建新对象。
这就是说一个对象在被引用之前,这个对象必须存在,否则引用将毫无意义,而出现错误信息。
从上面中我们可以看出JavaScript引用对象可通过三种方式获取。
要么创建新的对象,要么利用现存的对象。
JavaScript常用内部对象
在JavaScript中对于对象属性与方法的引用,有两种情况:
其一是说该对象是静态对象,即在引用该对象的属性或方法时不需要为它创建实例;而另一种对象则在引用它的对象或方法是必须为它创建一个实例,即该对象是动态对象。
对JavaScript内部对象的引用,以是紧紧围绕着它的属性与方法进行的。
因而明确对象的静动性对于掌握和理解JavaScript内部对象是具有非常重要的意义。
1、串对象
string对象:
内部静态性。
访问properties和methods时,可使用(.)运算符实现。
·基本使用格式:
objectName.prop/methods算术函数的math对象。
·功能:
提供除加、减、乘、除以外的一引些自述运算。
如对数,平方根等。
·静动性:
静态对象
2、日期及时间对象
·功能:
提供一个有关日期和时间的对象。
·静动性:
动态性,即必须使用New运算符创建一个实例。
此外,JavaScript还有Array对象,浏览器和HTML等对象。
其中HTML对象模型中的对象具有一般对象编程语言的特性,具有属性、方法、和事件。
这些对象都与网页页面能为用户提供的信息和交互性的好坏有很大的关系,它们之间的关系可以通过下图4-1表示出来。
在JavaScript中创建新对象
使用JavaScript可以创建自己的对象。
虽然JavaScript内部和浏览器本身的功能已十分强大,但JavaScript还是提供了创建一个新对象的方法。
使其不必像超文本标识语言那样,求于或其它多媒体工具,就能完成许多复杂的工作。
在JavaScript中创建一个新的对象是十分简单的。
首先它必须定义一