有一段时间没有更新自己的博客了,今天终于可以抽出时间和大家分享一下关于JavaScript了。有很多朋友在问我没有接触过会不会很难,不好理解
其实JavaScript的基本语法和Java的基本语法很相似,找到语法的不同点可以加快掌握知识的速度。我们步入正题!
JavaScript的优点:
一丶客户端表单验证
网站中,常常会遇到注册的页面,如果某项信息我们输入错误(如:昵称不合法,密码长度不符合等等...)表单页面将及时给出错误提示。这些错误
在没有提交到服务器之前,由客户端提前进行验证,称为客户端表单验证!
二丶页面动态效果
在JavaScript中我们经常会编写鼠标的响应事件代码,创建出动态的页面特效,从而有效的控制页面的内容,从而增加客户端的体验,从而使网站更
加有动感,有魅力!
JavaScript的概述:
1.JavaScript主要用来向HTML页面添加交互行为
2.JavaScript是一种脚本语言,语法和Java相似
3.JavaScript一般用来编写客户端的脚本
4.JavaScript是一种解释性语言,边执行边解释
JavaScript的基本结构:
//语法如下 <script type="txt/Javascript"> //JavaScript代码 </script>
JavaScript的变量和赋值:
//声明变量并赋值 var width = 20; //声明多个变量的同时用逗号 “,”隔开 var x, y, z = 50;
补充一点:JavaScript区分大小写!!!所以大小写不同的变量名代表不同的变量!同样JavaScript中的关键字不允许作为变量名和函数名!,不知道JavaScript中
的关键字的朋友可以去差相关的文档,这里就不一个一个的给大家补充了!
//创建数组的语法 var 数组名称 = new Array (size ); //为数组中元素赋值 var fruit = new Array ("Apple","Peach","Orange"); //第二种赋值方式 var fruit = new Array(4); fruit [0] = "apple"; fruit [1] = "Peach"; fruit [2] = "Orange"; //定义一个数组还可以使用“{”,“}”来定义 var fruit={"Apple","Peach","Orange"};
2.数组的属性和方法:
类别 | 名称 | 描述 |
属性 | length | 设置或返回数组中元素的数目 |
方法 | join() | 把数组的所有元素放入一个字符串,通过一个分隔符进行分割 |
sort() | 对数组排序 | |
push() | 向数组末尾添加一个新的元素,并返回新的长度 |
3.运算符
类别 | 运算符号 |
算术运算符 | +,-,*,/,%,++,-- |
比较运算符 | >,<,>=,<=,==,!= |
逻辑运算符 | &&,||,! |
赋值运算符 | = |
4.逻辑逻辑控制语句:
javascript中的逻辑控制语除 for - in循环其余都与java中一样,所以只讲解for-in循环
//语法 for (变量 in 数组) { //JavaScript语句; } //其中变量为数组的索引下标例如: var fruit = {"apple","peach","orange"}; for(var i in fruit){ document.write(fruit[i]) } //同java一样,在循环中用来终止循环的有 break和continue
5.输入输出:
//警告(alert),该对话框有一个字符串和一个确定按钮 alert ("提示信息") //提示(prompt)会弹出一个提示对话框,等待用户输入一行数据 prompt("提示信息","输入框的默认信息")
结合以上所讲要在浏览器中怎么做到以下效果:
代码如下:
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>统计a与A的字符串的个数</title> <script type="text/javascript"> var country = new Array("America", "Greece", "Britain", "Canada", "China", "Egypt"); //定义一个变量保存统计的值 var count = 0; document.write('在以下字符中:' + "<br/>"); //循环打出数组里的值 for (var i in country) { document.write(country[i] + "<br/>"); if(country[i].indexOf('a')!=-1||country[i].indexOf('A')!=-1) { count++ } } document.write('共有' + count + '个字符串中包含a或A'); </script> </head> <body>
JavaScript函数:
//常用的系统函数 parseInt() //解析一个字符串并返回一个整数 parseFloat() //解析一个字符串并返回一个浮点数 //结合以上两个函数可以计算两个数的运算结果 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>统计a与A的字符串的个数</title> <script type="text/javascript"> var num1 = prompt("请输入第一个数",""); var num2 = prompt("请输入第二个数",""); var n1= parseInt(num1) ; var n2= parseInt(num2) ; var = result = n1+n2; document.write(n1+"+"n2+"="+result); </script> </head> <body>
自定义函数:
在JavaScript中,自定义函数由关键字function,函数名,一组参数以及括号中执行的语句组成
function 函数名 (){ //JavaScript语句 [return 返回值] } //function是定义函数的关键字,必须有;小括号中有参数即为带参函数,否则为无参函数
----------------------------调用函数----------------------------------
1.通过添加事件来调用
function hello(){
//JavaScript语句
[return 返回值]
}
<input name= "btn" type ="button" value="调用函数" onclick="hello()"/>
2.匿名函数(不推荐使用,只要求能看懂)
function(){
//JavaScript语句
[return 返回值]
}
//如果想调用匿名函数就得为匿名函数整个语句一个值:
var cot =function hello(){
//JavaScript语句
[return 返回值]
}
<input name= "btn" type ="button" value="调用函数" onclick="cot()"/>
JavaScript中window对象:
window对象是整个BOM的核心,我们可以使用它的对象实现如下功能:
弹出新的浏览窗口
移动,关闭浏览器窗口或者调整窗口的大小
在浏览器中实现页面的前进和后退功能
window对象的常用属性:
名 称 | 说 明 |
history | 有关客户访问过的URL信息 |
location | 有关当前URL的信息 |
名 称 | 说 明 |
prompt() | 显示可提示用户输入的对话框 |
alert() | 显示一个带有提示信息一个确定按钮的警告对话框 |
confirm() | 显示一个带有提示信息,确定,取消的对话框 |
close() | 关闭浏览器窗口 |
open() | 打开一个新的浏览器窗口。加载给定的URL所指定的文档 |
setTimeout() | 在指定的毫秒数后调用函数或计算表达式 |
setInterval() | 按照指定的周期(以毫秒计算)来调用函数或表达式 |
window对象常用的事件:
名 称 | 说 明 |
onload | 一个页面或一幅图像完成加载 |
onmouseover | 鼠标指针移动到某元素之上 |
onclick | 鼠标单击某个对象 |
onkeydown | 某个键盘按键被按下 |
onchange | 域的内容被改变 |
history 对象和location对象
history对象提供用户最近浏览的URL列表,但是出于用隐私方面不在允许脚本访问已经访问过的实际URL,可以使用histrory对象提供
的逐个返回访问过的页面方法,具体方法请去查详细文档
location对象提供当前页面的URL信息,并且可以重新装载当前页面或新页面,其对象属性方法请去查详细文档
document对象的属性与常用方法:
属性 | 描述 |
referrer | 返回载入当前文档的前文档的URL |
URL | 返回当前文档的URL |
方法 | 描述 |
getElementById() | 返回对拥有指定id的第一个对象的引用 |
getElementByName() | 返回带有指定名称的对象的集合 |
getElementByTagName() | 返回带有指定标签名的对象的集合 |
write() | 向文档写文本,HTML表达式或javascript代码 |
JavaScript内置对象:
在javascript中,系统的内置对象有Date对象,Array对象,String对象和Math对象等。
Arrya:用于在单独的变量名中存储一系列的值
String:用于支持字符串的处理
Math:使我们有能力执行常用的数学。包含若干个数字常量和函数
Date:用于操作日期和时间
//JavaScript中对象与Java中的类非常相似,需要使用“new 对象名()“的方法创建 var 日期示例 = new Date(参数); //日期示例是存储Date对象的变量,可以省略参数,如果没有参数则表示当前日期和时间 //参数是字符串格式“MM DD,YYYY,hh:mm:ss”
Date对象有大量用于设置,获取和操作日期的方法,可以去相关文档去了解。
JavaScript中的Math对象:
Math的常用方法:
方法 | 说明 | 示例 |
ceil() | 对数进行上舍入 |
Math.ceil(25.5);返回26 Math.ceil(-25.5);返回-25 |
floor() | 对数进行下舍入 |
Math.floor(25.5);返回25 Math.floor(-25.5);返回-26 |
round() | 对数四舍五入 |
Math.round(25.5);返回26 Math.round(-25.5);返回-26 |
random() | 返回0~1中的随机数 | Math.random();例如0.6273608814137365 |
JavaScript定时函数
没有定时函数之前时间是静止的,不能动态更新,JavaScript提供了两个定时函数setTimeout()和setInterval().还提供了用于清除
timeoout的两个函数:clearTimeout()和clearInterval();
//setTimeout() setTimeout("调用的函数名称",等待的毫秒数) //setInterval() setInterval("调用的函数名称",周期性调用函数之间间隔毫秒数)
补充:使用定时函数写一个网页倒计时器
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>数字倒计时器</title> <script type="text/javascript"> window.onload = function () { var time; //锁定div对象 var dom = document.getElementById("msg"); var num = dom.innerText; //给开始按钮注册事件 var btnStart = document.getElementById("btnStart"); btnStart.onclick = function () { time = setInterval(step, 1000); } function step() { if(num>0){ num--; dom.innerText = num; } } //给停止按钮注册事件 var btnStop = document.getElementById("btnStop"); btnStop.onclick = function () { clearInterval(time); } } </script> </head> <body> <input type="button" id="btnStart" value="开始" /> <input type="button" id="btnStop" value="停止" /><br /> <div id="msg">10</div> </body> </html>
//有启动暂停和复位的计时器 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD> <BODY> <input id='show' type="text" readOnly='true' value='0'> <br/> <button onclick="start()">开始</button> <button onclick="stop()">暂停</button> <button onclick="reset()">复位</button> <script> var show = document.getElementById("show"); var int = null; var start = function(){ int=self.setInterval("count()",1000) } var stop = function(){ int=window.clearInterval(int); } var reset = function(){ show.value = 0; } var count = function(){ show.value = show.value*1 + 1 } </script> </BODY> </HTML>
//使用定时函数制作动态时钟 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>时钟</title> <script type="text/javascript"> function startTime() { var today = new Date() var h = today.getHours() var m = today.getMinutes() var s = today.getSeconds() // add a zero in front of numbers<10 m = checkTime(m) s = checkTime(s) document.getElementById('txt').innerHTML = h + ":" + m + ":" + s t = setTimeout('startTime()', 500) } function checkTime(i) { if (i < 10) { i = "0" + i } return i } onload = startTime; </script> </head> <body> <div id="txt"></div> </body> </html>
关于javascript的内容先就到这里结束,后续内容我会不断更新,如果对你有所帮助别忘了留下你的脚步与关注!谢谢