JavaScript基础
1.1 为什么学习JavaScript
学习JavaScript的目的主要有以下三点:
(1)客户端表单验证
作用是减轻服务器端的压力
(2)页面动态效果
在JavaScript中,可以编写响应鼠标单击等事件的代码,创建动态页面特效,从而高效的控制页面的内容。
(3)jQuery的基础
JavaScript是学习jQuery的基础。
1.2 什么是JavaScript
JavaScript是一种描述性语言,也是一种基于对象(object)和事件驱动(Event Driven)的具有安全性能的脚本语言。
特点:
*JavaScript主要用来在HTML页面中添加交互行为
*JavaScript是一种脚本语言,语法和Java类似
*JavaScript一般用来编写客户端的脚本
*JavaScript是一种解释性语言,边执行边解释
1.2.1 JavaScript的组成
(1)ECMAScript标准
ECMAScript标准主要描述了以下内容:
语法、变量和数据类型、运算符、逻辑控制语句、关键字和保留字、对象
(2)浏览器对象模型(BOM)
(3)文档对象模型(DOM)
1.2.2 JavaScript的基本结构
<script type="text/javascript">
document.write("初学");
document.write("<h2>javascript!</h2>");
</script>
<script>标签的属性,用于指定文本使用的语言类别为text/javascript
通常,JavaScript代码使用< script>标签嵌入HTML文档中的。
(1)JavaScriptd的基本结构:
<script type =“text/Javascript”>JavaScript 语句</script >
其中type是< script>标签的属性,用于指定文本使用的语言类别为text/JavaScript。
(2)JavaScript的执行原理
在JavaScript的执行过程中,浏览器客户端与应用服务器端采用请求/响应模式进行交互。
1.2.3 在网页中引用JavaScript的方式
(1)内部JavaScript文件
<script type="text/javascript">
document.wirte("");
</script>
(2)使用外部JavaScript文件
<script type="text/javascript" scr="js路径"></script>
(3)直接在HTML标签中
<input type="button" value="" onclick="javascript:alert('')">
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>javascript基本结构</title>
<!--输出一句话到页面上-->
<script type="application/javascript" src ="../js/dome1.js"> </script>
<script type="text/javascript">
/* js代码可以写在
* 1、<script>里面
* 2、写在事件当中onclick
* 3、写在外部文件 js文件 中
* 4、写在超链接中
*/
document.write("初学javascript");
document.write("<h2>hello! javascript</h2>");
document.write("这是我的第一个JS代码");
</script>
</head>
<body>
<input type="button" onclick="alert('我被点击了')" value="请点击我" /><br>
<!--<a>链接中填写#或是空的,就是刷新本页面-->
<a href ="javascript:alert('点击了超链接')">超链接</a>
</body>
</html>
&三种方法不同应用场合:
内部javascript 文件适用于 javascript特效代码量少,仅用于单个页面
外部js文件则适用于代码较多,重复应用于多个页面
直接在标签上写javascript则适合于极少代码,仅用于当前标签,但是这种方式增加了html代码,因此这种方式在实际开发中应用较少
1.3 JavaScript核心语法
1.3.1 变量的声明和赋值
语法:var 合法的变量名
声明变量的同时为其赋值,例如:
var width=20;
注意:
JavaScript区分大小写,特别是变量的命名,语句关键字等。
1.3.2 数据类型
JavaScript中提供了常用的基本数据类型,如下所示:
*undefined(未定义类型)
*null(空类型)
*number(数值类型)
*String(字符串类型)
*boolean(布尔类型)
(1)typeof
ECMAScrip提供了typeof运算符来判断一个值或变量属于哪种数据类型,语法格式:
typeof(变量或值)
(2)undefined类型
undefined类型只有一个值,即undefined。当声明的变量未初始化时,该变量的默认值是undefined。
(3)null类型
只有一个值的类型是null,是一个表示“什么都没有”的占位符,可以用来检测某个变量是否被赋值。
(4)number类型
JavaScript中定义的最特殊的类型是number类型,该类型既可以表示32位的整数,也可以表示64位的浮点数。
(5)String类型
1)字符串定义
在JavaScript中,字符串是一组由引号(单引或双引号)括起来的文本。例如:var String=”This is string”
注意与Java不同,JavaScript不对字符或字符串加以区分,例如:
var oneChar =”a”; //定义了只有一个字符“a”的字符串。
2)字符的属性与方法
参考JavaScript帮助文档
(6)boolean类型
boolean类型数据被称为布尔型数据或逻辑性数据,它只有两个值,true和false
1.3.3 数组
同Java中的数组一样,JavaScript中的数组也是具有相同数据类型的一个或多个值的集合。
(1)创建数组
语法格式:
var 数组名称 = new Array(size);
(2)为数组元素赋值
语法格式:
var fruit= new Array(“apple”,”orange”,”peach”,”banana”);
也可以分别为数组元素赋值。
另外,除了Array()对象外,数组还可以用方括号“[”和“]”来定义。
例如:
var fruit =[“apple”,”orange”,”peach”,”banana”];
(3)访问数组元素
可以通过数组的名称和下标直接访问数组的元素:数组名[下标]
(4)数组的常用属性和方法
参考JavaScript帮助文档
1.3.4 运算符
类别 运算符
算数运算符 +,-,*,/,%,++,--
比较运算符 >,<,>=,<=,==,!=,===,!==
逻辑运算符 &&,||,!
赋值运算符 =,+=,-=
其中,==表示等于,===表示恒等,!==表示不恒等。
1.3.5 逻辑控制语句
在JavaScript中,逻辑控制语句用于控制程序的执行顺序。分为两类:条件结构和循环结构
(1)条件结构
分为if结构和switch结构
1)if结构
语法格式:
if(表达式){
//javascript语句1;
}
else{
//javascript语句2;
}
2)switch结构
语法格式:
switch(表达式){
case 值1:
//javascript语句1;
break;
case 值2:
//javascript语句2;
break;
..........
default:
//javascript语句n;
break;
}
(2)循环结构
有for循环,while循环,do-while循环,for-in循环,前三种循环结构与Java中的循环结构用法相同。
*for-in循环,与Java不同,javascript提供的for-in循环常用于对数组或者对象的属性进行循环操作,基本语法:
for(变量 in 对象){
javascript语句;
}
其中“变量”为指定的变量,可以是数组元素,也可以是对象的属性。
*中断循环
同Java一样,在JavaScript标准语法中,也有两种特殊的语句可以用在循环结构内部终止循环:break和continue
break:可以立即退出整个循环
continue:只是退出当前的循环,根据判断条件决定是否进行下一次循环。
1.3.6 注释
javascript语言的注释和Java语言的注释一样,分为单行注释和多行注释
1.3.7 关键字和保留字
关键字是保留的,不能用作变量名或者函数名。
保留字在某种意义上是为将来的关键字为保留的单词,因此保留字也不能被用作变量名或函数名。
1.3.8 常用的输入和输出
(1)警告(alter)
此方法会创建一个特殊的小对话框,该对话框带有一个字符串和一个确定按钮。
基本语法:
alter(“提示信息”);
(2)提示(prompt)
prompt()方法会弹出一个提示对话框,等待用户输入一行数据
基本语法:
prompt(“提示信息”,”输入框的默认信息”)
1.3.9 语法约定
(1)大小写的区分
*JavaScriptd的关键字,如for和if,永远都是小写的。
*内置对象,如Math和Date是以大写字母开头的
*对象的名称通常是小写,但其方法是多个单词的大小写混合,通常第一个字母是小写,之后单词的首字母是大写。
(2)变量、对象和函数的名称
与Java的命名规则类似,但需注意JavaScript是区分大小写的,count、Count、COUNT将被认为是三个不同的变量。
(3)分号
JavaScript允许开发者自行决定是否以分号结束一行代码,如果没有分号,JavaScript就将行代码的结尾看做该语句的结尾。