来源:远方网络 | 2006-1-2 17:06:33 | (有2350人读过)
第1讲:JavaScript基础 1.1 JavaScript脚本的特点 1.1.1 客户端JavaScript与服务器端JavaScript JavaScript既可以应用于客户端(浏览器端)也可以应用于服务器端,只是在使用时有所区别,具体如下。
n 编程的区别
在客户端端应用JavaScript时是把JavaScript代码通过<script>…</script>标记嵌入到HTML代码中,而在服务器端应用JavaScript时是把JavaScript代码通过<sever>…</server>标记或通过<Script Language=” JavaScript” Runat=”server”>…</script>的方式嵌入到服务器端的脚本或程序中。
n 执行方式的区别
客户端的JavaScript是浏览器通过解释的方式执行,而服务器端的JavaScript是通过编译的方式执行,且执行后将生成*.web类型的文件。
n 对数据库的操作能力
客户端的JavaScript基本上无数据库的处理能力,而服务器端的JavaScript有较强的数据库处理能力,如JavaScript服务器端的SendMail对象可以用来创建电子邮件系统。
1.1.2 JavaScript面向对象的特性 JavaScript与C++和Java等语言一样,属于面向对象的“语言”,事实上,尽管JavaScript是面向对象的,但它在客户端应用时只能算是脚本。
1.1.3 JavaScript的学习重点 n 基于时间效果的应用
n 基于浏览器标题栏与任务栏效果的应用
n 基于文字效果的应用
n 基于表单元素的应用
n 基于图像的操作
n 基于鼠标效果的应用
n 基于窗口对象的应用
n 基于密码对象的应用
n 基于层、框架与Cookies的应用
n 基于Flash ActionScript的应用
1.2 JavaScript的程序结构 1.2.1 类似自然语言的描述方式(不建议使用,且其安全性极差) <script language="javascript">
<!--
var today=new Date();
date=today.getDate();
month=today.getMonth();
month=month+1;
if (month<=9) month="0"+month;
year=today.getYear();
document.write(year,"-",month,"-",date);
//-->
</script>
1.2.2 函数描述方式(符合结构化程序设计的规范,建议使用) <script language="javascript">
<!--
function showdate(){
var today=new Date();
date=today.getDate();
month=today.getMonth();
month=month+1;
if (month<=9) month="0"+month;
year=today.getYear();
document.write(year,"-",month,"-",date);
}
//-->
</script>
<script language="javascript">
<!--
showdate();
//-->
</script>
1.2.3 外接式描述方式(安全性最高,建议使用) 在记事本中将如下代码保存成file_name.js格式的文件:
var today=new Date();
date=today.getDate();
month=today.getMonth();
month=month+1;
if (month<=9) month="0"+month;
year=today.getYear();
document.write(year,"-",month,"-",date);
之后用如下方式引用file_name.js文件:
<script language="javascript" src="file_name.js"></script>
1.3 JavaScript的数据类型、常量与变量 1.3.1 数据类型 n Boolean(布尔类型)
布尔值是比较运算的运算结果,其取值只能是false(假)或true(真),false或true都应该使用小写,如表达式7>12的返回值为false。
n Number(数字类型)
数字类型的取值范围是(5e-324至1.797693e+308)与(-1.797693e+308至-5e-324),取值范围中的“e+n”表示以10为底数的+n次方。
n String(字符类型)
字符类型的数据需包含在单引号(’ ’)或双引号(“”)之间,当然也可以是什么也没有即空字符串,如"JavaScript"、"合肥连邦电脑教育培训中心"等。
若需在字符串中显示单引号、双引号以及换行符等特殊字符,须在上述字符前加上右斜杠符号(\),如“\"”、“\’”和“\n”分别表示在字符串中显示双引号、单引号和换行符。
n Null与Undefind
Null的类型是对象,用来表示一个变量没有任何数值,而Undefind是指变量没有定义的任何值。除非特殊场合,否则建议尽可能地避免使用Null和Undefind。
n NaN与Infinity
NaN与Infinity都属于Number类型,其中Null的意思是“不是一个数值”或“没有意义的表达式的返回值”,Infinity的意思是“无限大的数值”,当一个数值的值无限大时就可以用Infinity来表示。
n Object(对象类型)
对象是属性和方法的集合,基本数据类型的变量其对应值基本上是唯一的,而对象可以根据方法和属性的不通衍生出多个对象。如document对象可根据不同的方法和属性衍生出类似document.write之类的对象。
1.3.2 常量 n 整形常量,如2008,315等
n 浮点常量,如-3.1E12,2E-12等
n 布尔常量,只有ture与false
n 字符常量,如"guoyongcan"、"tsinghua university"等
n 特殊常量,如“\f”表示换页符、“\t”表示Table符号
n Null常量,Null可与任何类型的数据进行转换,当数据类型为数值型时,Null表示0,当数据类型为字符型时,Null表示空字符串
1.3.3 变量 注意:在JavaScript中声明变量时不需要指定变量的数据类型,变量的数据类型将随着其赋值的数据类型的变化而变化。
变量的定义方法是采用var保留字进行定义,如var gyc,变量在定义时可指定其初始值,如var value_array=2。
变量的作用域与存活期,其实分别是指全局变量与局部变量,即定义变量时一定得注意其适用范围,具体请看如下JavaScript脚本。
var gyc="tsinghua";
function testFunc(){
attr=3;
var c=4;
}
1.4 JavaScript的操作符与表达式 1.4.1 JavaScript的标点符号 JavaScript要求开发者在每条语句的结束位置加上“;”,但如果不写分号,基本基本不会出错,但会在很大程度上降低脚本的可读性和可维护性。
在JavaScript脚本中,经常需要加注脚本注释,其方法分别如下:
n /* */(多行注释)(建议使用)
n //(单行注释)(建议使用)
n <!-- //-->(单行注释)(不建议使用)
1.4.2 操作符 A)基本操作符 n =(赋值运算符)
n +(加号)
n -(减号)
n *(乘号)
n /(除号)
n ++(增量运算,例如m++相当于m=m+1)
n ――(减量运算,例如m--相当于m=m-1)
n +=(先加后赋值,,例如m+=5相当于m=m+5)
n -=(先加后赋值,,例如m+=5相当于m=m+5)
n *=(先加后赋值,,例如m*=5相当于m=m*5)
n /=(先加后赋值,,例如m/=5相当于m=m/5)
n %(取余,如17%3的结果是2)
n +(字符串连接符,如"Tsinghua"+" University"的结果是"Tsinghua University")
B)比较操作符与逻辑操作符 n ==(相等)
n ===(完全相等)
n <(小于)
n >(大于)
n <=(小于等于)
n >=(大于等于)
n &&(逻辑与操作符)
n ||(逻辑或操作符)
n !(逻辑非操作符)
1.4.3 表达式 n 数学表达式,例如(1+2+3*5^2)/4
n 关系表达式,例如4>7
n 逻辑表达式,例如a||b
n 字符表达式,例如"Tsinghua"+" University"
|