JavaScript
一、JavaScript概述部分
1,概述
(1)和Java没有关系,语法类似Java。
(2)全球使用最多的语言
2,为什么要学习JavaScript?
(1)操作或改变HTML的元素,案例:改变样式,时钟,动态广告…
(2)表单验证,验证表单元素的合法性和准确性。
用户名的长度
年龄的范围
生日的格式
…
服务器端验证:
优势:安全
缺点:会增加服务器的压力
客户端验证:
优点:减轻服务器压力
缺点:不安全
二、JavaScript基础语法部分
1,JavaScript的HelloWorld
(1)浏览器可以直接运行JavaScript的脚本
(2)语法结构:
3,JavaScript的核心语法
(1)变量
定义变量使用var关键字,var定义的变量类型取决于该变量的赋值。
在js中可以不声明变量,直接使用。
+符合的使用规则同Java
定义常量:const关键字
const PI=3.14;
(2)变量的数据类型:typeof(变量)
number:整数、小数
string:单引号或双引号引起来的字符
boolean:true或false
object:数组、对象等引用类型
undefined:
声明未赋值
未声明未赋值
(3)JS中的注释:同JAVA
(4)输入和输出语句
alert(“内容”);
prompt(“提示消息”,“初始值”);
注意:prompt的返回值是string
(5)JS中的类型转换
数字=Number(“数字字符串”);
整数=parseInt(“整数字符串”)
小数=parseFloat(“小数字符串”);
(6)运算符
(7)控制语句:if,switch,for,while
注意:在判断的时候,JS会自动把数字字符串转换成数字类型。但是如果碰到"+"运算符则不会转换。
(8)语法约定:
a,代码严格区分大小写
变量:首字母小写,后面逢单词大写或使用_隔开 (userName或user_name)
常量:全大写
b,标示符只能由数字、字母、_和$组成,并且不能以数字开头。(同JAVA)
c,不能使用关键字,命名是最好见名知意。
d,最好不要省略分号
e,编码缩进(Tab键)
三、JS函数
(1)内置函数
parseInt();
parsetFloat();
isNaN():检查是否为非数字串。
(2)自定义函数
定义函数的格式:
function 函数名([参数]){
函数体;
}
注意:function中参数不能使用var修饰
函数的调用:
事件名=“函数名();”
onclick:单击
onload:页面加载完成,只能加在上
function hello(a){
if(a){
alert("有参数!");
}else{
alert("没有参数!");
}
}
(3)变量的作用域
全局变量(可以省略var):定义在函数外,作用域是所有函数。
局部变量(不能省略var):定义在函数里,作用域就是该函数。
推荐:在JS中不要省略var
四、JS中的常用对象
(1)日期对象Date
创建对象:
var date=new Date(); //系统当前时间
var date=new Date(“yyyy/MM/dd hh:mm:ss”);//指定时间
对象的方法:getXxx();
alert(date1.getYear()+1900);
alert(date1.getMonth()+1);
alert(date1.getDate());
alert(date1.getHours());
alert(date1.getMinutes());
alert(date1.getSeconds());
(2)字符串对象
var str=“hello world”;
length属性:求字符串的长度
字符串的方法:
toUpperCase()转换大写
toLowerCase()转换小写
charAt(index):获取index位置上的字符
indexOf(子字符串,index):在字符串中查找子字符串的位置,找不到返回-1
substring(index1,index2):截取从index1到index2的字符串(包左不包右)
(3)Window对象
JS的根对象,内置对象window
window对象的属性:
history:用于前进或后退
back();
forward();
go(n);
location:JS中的超链接
href=“url”;
跳转页面
if(){
location.href=“a.html”;
}else{
location.href=“b.html”;
}
超链接调用JS的事件:
链接
链接
window对象的常用方法:
alert();
prompt();
confirm();返回布尔类型
close();关闭当前窗口
open();打开新窗口(广告专用)
open(“url”,“页面名称”,“窗口特征”);
var timer=setTimeout(“函数名()”,毫秒);N毫秒后运行一次函数。
clearTimeout(timer);清空定时器
setInterval(“函数名()”,毫秒);间隔N毫秒调用函数,运行多次
window对象的常用事件:
onclick:单击事件(button)
onload:页面加载完成后执行(body)
onmouseover:鼠标经过
onmouseout:鼠标离开
onkeydown:按下键盘
onkeyup:松开键盘
onchange:选项改变时(select)
onfocus:聚焦事件
onblur:失焦事件
(4)Math对象常用方法:
绝对值:abs(x)
上舍入:ceil(x) 1.2—>2
下舍入:floor(x) 1.2 ---->1
求最值:max(x,y,z…) min(x,y,z…)
幂运算:pow(x,y)
随机数:random() 0~1
四舍五入:round(x)
平方根:sqrt(x)
五、使用JS操作HTML元素(DOM编程)
1,获取HTML元素
根据id获取某个元素:var obj=document.getElementById(“id”);
根据name获取某些元素:var array=document.getElementsByName(“name”);
根据标签获取某些元素:var array=document.getElementsByTagName(“tagname”);
2,元素的显示与隐藏
visibility:visible/hidden ------------> 隐藏后不会释放空间
display:block/none ------------> 隐藏后会释放空间
(1)树形菜单
(2)轮换的图片
now=1;
for(4){
if(i==now){
显示
}else{
隐藏
}
}
now++;
(3)全选或反选
3,获取或设置元素的内容
(1)innerText
(2)innerHTML
(3)倒计时、时钟
(4)随机抽号程序
4,任务:
(1)微博的字数限制。
(2)手风琴
5,省市级联菜单
(1)select对象和option对象的使用
(2)JS中数组的使用 Array
定义:
var array=new Array();
var array=new Array(size);
var array=new Array(“a”,“b”,“c”…);
var array=[“a”,“b”,“c”…];
下标:
数字
字符串:
var array=new Array();
array[“陕西”]=[“西安”,“咸阳”,“渭南”…];
六、JS和CSS交互
(1)所有在css中带-的样式属性,在JS中都是去掉-后面的单词首字母大写
font-size :fontSize
background-color :backgroundColor
(2)JS修改样式的方式:
obj.style
obj.className
七、JS表单验证
(1)获取表单元素
var obj=formName.elementName; 推荐使用
var obj=document.forms[0].elementName;
var obj=document.getElementById(id);
(2)表单提交事件:onsubmit
点击submit按钮会触发onsubmit事件
οnsubmit=“return 函数()”;
函数一定要返回一个boolean值:
true:表示提交表单
false:不提交表单
(3)通过JS提交表单
formObj.sumbit();
作业1:见PPT44页
作业2:输入邮箱,检查其格式是否合法
(1)包含 @ 和 .
(2)@ 必须在 .前
(3).后必须是com/cn/org/cc
var array=[“com”,“cn”,“org”…];
for(array){
if(input==array[i]){
flag=true;
break;
}
}