JavaScript是脚本语言之一,它可以使我们的建立的表单功能化,还能编写功能模块程序。
1、输出文字
例子:
输出文字
document write("用JavaScript语言,输出文字。")
这是使用html主体中的文字。
注:document write()输出文字。
2、在HTML语言中嵌入JavaScript语句的标记
JavaScript语句以结尾,可使浏览器知道这里是Javascript语句.属于HTML标记,它可以放在HTML文件的任何地方。标记之间是JavaScript语句,如document.write()命令。
注:JavaScript语句对大小比较敏感,在编写时要注意这一点,因此在JavaScript语句中我们都用小写。
3、在JavaScript中如何使用注释标记
在标记的下面和上面加上HTML的注释标记即可解决这个问题。另外JavaScript还有自己的注释标记。
例:注释与隐藏JavaScript语句方法。
为HTML语言的注释标记,//与为JavaScript注释标记。//为一行不显示,而为多行不显示。
在支持JavaScript语句的浏览器中之间的语句通通隐藏不显示。
4、对象、方法、属性和事件
1)什么是对象
JavaScript
可以说是一种面向对象的语言。自然界中的任何事物都可以看作对象,如计算机,电话,房子,人等。不过在这里所说的对象主要是指在计算机中出现的window(窗口)对象、form对象、date(日期)对象,还有document(文档)对象等。
对象各不相同,但是所有的对象都具有共同的特征,即每个对象都有自己的属性和方法,对象知道做什么及如何去做。
对象是具体事物的抽象,必然具有某些特征或属性。如人具有姓名,年龄等属性,电话具有颜色、大小等属性.对象的属性用于描述一个对象,说明对象的特征以及对象可以做的事情,然而没有说对象应该如何去做。因些,对象还与其相关的功能,这些功能称为方法
说明对象可以如何去做事情。每个对象可以识别和响应某些操作为,这些操作行为称为事件。
Prompt()方法的语句格式为:
Prompt("提示信息","初值")
Prompt()方法的括号包括了两个字符串,一个是要显示的提示信息,另一个是输入文本框内的初始数据,所用的引号一定要成对使用,不能一个双引号一个单引号。引号要是英文状态的。
5、变量与数据
变量提供了可以存放信息和数据的地方,它具有记忆数据的功能。变量是可以改变的,可以存放不同的数据,常用字母x,y或英文单词作为变量名。使用变量可以“暂时”保留住使用输入对话框输入的信息,关闭该页面文件后变量的内容会消失。
1)利用变量保存输入的信息
例:
var x=5
x=x+7
document.write(x+"
")
var name=prompt("请输入你的姓名:"," ")
document.write("你好!,"+name)
从这里可以看到变量的定义方法:
var 变量名=数据的值
var 语句定义一个名字为“变量名”的变量,并且把“数据的值”赋给了该变量。
注:变量名大小写非常敏感,可以包括下划线“_“,但变量必须以字母作首字符。
2)数据类型
4种类型:(1)数:包括整数,如12,22;浮点数,如7.234,-3.5,2E3。
(2)字符串:如"你好","hello",'2345'," "。必须使用引号括起来。
(3)逻辑值:只有true或false两个。
(4)空:只有null一个值,它表示什么也没有。空null和0值或空字符串" "是不一样,0值或空字符串" "是一个实际值。
3)赋值运算符
“=”表示右边数给左边变量赋值。如:y=5,5被赋给了y。
“+=”表示左,右两边数相加,结果赋给左边变量。如:x=5,y=6,x+=y将11赋给了x。
“-=”表示左,右两边数相减,结果赋给左边变量。
“*=”表示左,右两边数相乘,结果赋给左边变量。
“/=”表示左边数除以右边数,结果赋给左边变量。
“%=”表示左边数除以右边数,余数赋给左边变量。如x=25,y=7,x%=y 将4赋给了x。
4)算术运算符
有"+", "-", "*", "/", 余"%", 取负"-", "++", "--"等。
5)字符串运算符
字符串运算符只有合并运算符"+",表示两个字符串的合并。如:'abc'+"你好!",这个表达式的值为:"abc你好!"。
6)比较运算符
"==",如两边数据相等返回true。
"!=",如两边数据不相等返回true。
">",如左边数大于右边数返回顾true。
"
">=",如左边数大于或等于右边数返回顾true。
"<=",如左边数小于或等于右边数返回顾true。
7)逻辑运算符
&&表示逻辑与,两边都为真是,结果为真(true)。否则结果为假(false)。
||表示逻辑或,两边有一个为真,结果为真(true)。否则结果为假(false)。
!表示逻辑非,表达式的逻辑值为真(true)时,其结果为假(false)。相反的结果。
8)条件运算符
条件运算符只有一个“?”结构为:
(条件)?结果1:结果2
它的计算过程为:先计算作为条件的逻辑表达式或关系表达式,再根据得到的返回值为true时表达式的值为结果1,返回值是false时表达式的值为结果2
9)运算符优先级
运算符的优先级从高到低为:
括号(( ))
乘/除/模(*、/、&)
加/减(+、-)
关系(、<=、>=)
相等(==、!=)
逻辑与(&&)
逻辑或(||)
逻辑非(!)
条件(?)
10)表达式
表达式是变量、运算符以及其他表达式的集合。所有表达式的最比终结果都计算成一个值,所以表达式实质上就是一值,可根据表达式的类型确定其值的类型。
有4种类型:赋值表达式、算术表达式、字符串表达式和逻辑表达式。
例:表达式与变量的使用
var question="请回答:100+200是多少 ?";
var answer=300;
var x1="你真聪明,计算正确!";
var x2="你再孝虑一下,计算是不是错了?"
var x3=prompt(question,"0");
var output=(x3==answer)?x1:x2;
document.write(output)
注:每个命令行还可以添加分号“;”在JavaScript中一行可以写多个命令,一条命令还可以写成多行,只要用分号“;”分开即可。
为了统一起见,每个语句都使用了分号“;”,但是要小心,一定要用西文方式的分号“;”其他的符号也是如此,否则会出错的。
在上面的例子中我们将变量的定义放在了HTML文件的头部,把输出结果放在HTML文件的主体中,一般都会这们去写,可以使程序更清晰,容易看明白。可以当作一种习惯。
6、选择语句
1)if-else简单结构
if(){
}else
{
}
使用条件表达式不能改变书写的顺序,必须一行一行的执行每条命令。利用if...else就可以实现哪些部分执行,哪些部分不执行。
例:
var question="100+200是多少";
var answer=300;
var x3=prompt(question,"0");
if(x3==answer){
document.write("你真聪明,计算正确!");
}else
{document.write("你再考虑一下,是不是有错!");
}
2)if...else复合结构
运用嵌套方式使用if...else语句,
语法:
if(条件1){
JavaScript命令
if(条件2){
JavaScript命令
}else{
其他命令
}
更多的JavaScript命令
}else{
}其他命令
注:在这里用大括号将多个命令组合成命令块,一定要配套用。
7、函数(function)
它可以完成指定任务或功能,它由一系列程序命令构成。在其他程序中通过一个函数名即可调用函数,实现函数的功能。
函数也可以不带参数。如f()
1)定义一个函数的方法
例:
function function1(){
alert("这是使用函数产生的提示对话框");
}
οnclick="function1()">
2)使用函数创建对象
要建立一个对象,需要定义对象的属性以及对象的方法。
(1)创建对象(对象名,对象属性,对象方法来说明。
下面来建立一个职工worker对象来说明。worker对象有三个属性:姓名xm、年龄nl、工资gz。
function worker(xm,nl,gz){
this.xm=xm;
this.xm=nl;
this.gz=gz;
}
注:"this"在JavaScript中有特殊的作用,它表示当前的对象。也可以使用worker.xm定义worker对象的属性。
(2)定义对象实例
利用函数,可以用new语句建立一个对象的实例,即一个具体的对象。如:worker1=new
worker("张少燃",28,3000);
worker1 是一个新对象。worker1称为worker对象的实例。用相同的方式可以建立新对象worker2等。
建立对象的实例可使用下面的语句格式:
实例名=new 对象名()
注:对象实例即对象的一个具体例子,可以用任意名字来定义。它也可以看成是一个对象,具有原来对象的一切属性和方法,并且可以
定义新的属性和方法。
(3)为对象增加属性
通过给新属性赋值可以给对象加入新属性。例如给对象worker1加入一个电话号码为123456的属性
worker1.dh="123456";
但对其他对象实例如worker2和worker对象的新实例没有影响。要想所有的worker实例都加入dh的属性,可在建立对象的实例之前给原来的worker对象加入属性dh,如下:
function worker(xm,nl,gz,dh){
this.xm=xm;
this.xm=nl;
this.gz=gz;
this.dh=dh;
}
注:对象的属性次序是重要的,不能随便改变。
(4)给对象加入方法
除给对象定义加入属性外,也可以给对象定义方法。首先要建立一个函数,该函数定义对象的方法。
例子:
//定义方法
function f2(){
document.write("姓名:"+this.xm);
document.write("
年龄:"+this.nl+"
");
document.write("工资: "+this.gz);
}
//定义对象
function worker(){
this.xm=prompt("输入姓名: ","张明");
this.nl=prompt("输入年龄: ","30");
this.gz=prompt("输入工资: ","3456");
this.f2=f2;
}
worker1=new worker()
这是使用函数创建对象的例子
worker1.f2()
3)显示当前日期和时间的方法
利用Date对象。
例:
today=new Date()
document.write("目前的时间是:",today.getHours(),":",today.getMinutes());
document.write("
今天的日期是:
",today.getMonth()+1,"/",today.getDate(),"/",today.getYear());
注:首先建立一个日期对象Date()的实例today。对象Date()如果没有特别指定时间与日期的话,浏览器将会采用本地计算机的时间,将它放入实例today中。实例today具有对象Date()的方法和属性。因此today就有了一个具有本地时间与日期的值,请注意getMonth这个属性所取得的月份范围是从0到11,所以必须加1以代表真正的1到12月。
除显示当前时间外,在建立日期你也可以事先设定一个具体日期,如:date1=new Date(2001,08,13)。
4)利用Math对象输出一个随机数
例:
function RandomNumber(){
today=new Date();
num=Math.abs(Math.sin(today.getTime()));
return num;
}
document.write("这是一个随机数:",RandomNumber());
这个方法不适合用来快速地连续产生一系列的随机数,但如果你是不定时的、很长时间用一次,那效果不错了。
用到了Math对象的方法abs(number),即取数的绝对值,还有取正弦的方法sin(number)。随机函数RandomNumber有一个不同的地方就是它有一个返回值num。
8、循环语句
重复执行一些行的命令块.
一是条件循环(while循,根据条件满足或不满足时的循环),一个是在一定范围内重复的循环语句(for和for...in循环).
1) for和for...in循环
例子:for循环语句的使用。
var name=prompt("请写出你的姓名: "," ");
document.write("
这是"+name+"喜欢的三种活动
");for(var i=1;i<=3;i++){
document.write("
");
document.write(i+"."+prompt('活动'+i,'活动类型'));
}
注:i++表示每循环一次i的值将加1。
for循环的语法格式为:
for(初值表达式;条件表达式;步长表达式){
命令
}
当进行循行前首先判断“条件表达式”,其为真(true)时,执行循行语句中的命令;其为(false)时跳出循环语句。每循环一次变量增加或减少"步长表达式"的值。
注:一般用i、j、k、l等作为循环的计数变量。
for...in循环
for循环是一般目的的循环。for...in 循环可用于在对象的所有属性内自动移位。
格式:
for(j in 对象){
命令
}
循环会从0增加j,直到达到该对象中的最后一个属性的一标为止。
2)while循环
格式:
while(条件表达式){
命令
break
continue
}
”条件表达式“为真时,执行循环语句中的命令,”条件表达式“为假时,跳出循环语句。
如碰到break语句可以终止循环,即使循环没有结束也可以。break语句在for循环中可同样使用。
如果程序中碰到continue将跳到命令块的第一句进行下一次循环。