JavaScript是web开发中强大的脚本语言
脚本语言:嵌入在其他语言中结合使用,无法独立执行,直接被浏览器解析执行
作用:控制页面特效展示
将在运行的网页弹出对话框,再到界面输出
<script type="text/javascript">
window.alert("Hello JS")
//prompt("input") 弹出输入框,默认为字符串类型,可传递给变量
//console.log("调试日志")
document.write("Hello JS
")
</script>
由上可知:JavaScript可以在html的任意位置编写(一般建议在head下),一般在其调用前编写,可以控制html的元素输出
一般开发中,会将js单独为文件,然后在html中做一个链接(一般会有多个js文件导入)
<script type="text/javascript" src="路径/文件名.js"></script>
JavaScript的变量定义没有非常严格的语法要求,可使用var关键字定义变量(常用于定义全局变量,其他变量一般直接定义和赋值)
var a; //未声明类型
b = 5; //number整形
c = 5.2; //number浮点型
d = "abc"; //string
e = true; //boolean
f = null; //不含有值,undefined
g = []; //空数组
h = new Array(3)
i = [1,2,3]; //Array类型
j = { //对象object
first: 1,
last: 2
};
注:
NaN也是number类型,Date为object类型,未定义的函数为undefined
Undefined 与 null 的值相等,但类型不相等,即
typeof undefined // undefined
typeof null // object
null === undefined // false
null == undefined // true
转换为字符串类型
num=1
alert(num.toString())
alert(String(num)) //强制转换
alert("String"+num) //字符串拼接,最常用(隐式转换)
转换为数字类型
str="10"
alert(parseInt(str))
alert(parseFloat(str))
alert(Number(str)) //强制转换
alert(str-0) //字符串做数值操作,隐式转换
注:“+”用于字符串拼接,“-”,“*”,“/”都可以字符串转为数字
布尔类型转换,使用Boolean()函数
除0,NaN,null,undefined会转为false,其余都为true
JavaScript中的分支和循环语句与Java几乎无区别,不再赘述
格式:
function 函数名(参数){
函数体
[返回值]
}
不需要考虑是否有返回值或其类型,如需返回直接写return即可
如
function add(x,y){
return x+y;
}
document.write(add(1,2));
arguments参数,里面存储了所有函数传入的参数
function fun(){
console.log(arguments) //输出参数,若有多个参数将以列表形式
}
fun("123")
fun(1,2,3)
参数不足会用undefined代替
html事件是发生在html元素上的事情,可以是浏览器或用户的行为,如页面加载,按钮点击,输入字段等,在事件触发时可以执行JavaScript的代码
如页面打开事件:onload
页面关闭事件:onunload
可以在指定的html标签中添加事件
<body onload="loadFun()" onunload="unLoadFun()">
如果需要在一个事件中执行多个函数可用分号“ ; ”隔开
<body onload="loadFun();unLoadFun()">
然后在js文件中实现这两个函数
function loadFun(){
alert("Welcome")
}
function unLoadFun(){
alert("Goodbye")
}
就可以实现在页面打开或关闭时执行函数操作
给按钮绑定点击事件,获取当前时间
<button onclick="displayDate()">获取时间button>
<script>
function displayDate(){
document.getElementById("getTime").innerHTML=Date();
}
script>
<p id="getTime">p>
注:事件基本都以“ on ”开头
JavaScript开发中,使用动态事件绑定可以满足更多开发需要,也是目前最常用的事件绑定方法
需要标注组件id
<button id="bt">bottombutton>
点击按钮后弹出“click”窗口
function fun(){
alert("click")
}
window.onload=function (){
obj=document.getElementById("bt") //获取该id的对象
if(obj!=undefined){
obj.addEventListener("click",function (){
fun()
},false) //动态绑定
}
}
总结动态事件绑定的格式
window.onload=function (){
document.getElementById("组件ID").addEventListener("事件名称",function (){
绑定的函数操作
},false)
}
可设置个图片测试
<img src="img/1.png" id="pic">
js中的代码,触发鼠标事件时弹出提示
window.onload=function (){
document.getElementById("pic").addEventListener("mousemove",function (){
alert("mouse")
},false)
}
表单主要用于检查用户提交的信息如登陆
先写一个登陆界面和登陆成功的界面
form的action属性用于提交后跳转的页面,onsubmit属性用于是否拦截表单提交,选否可以直接拦截
<form id="loginFrom" action="test.html" onsubmit="return false" >
<div>
<span>账号:span>
<input type="text" id="account">
div>
<div>
<span>密码:span>
<input type="password" id="password">
div>
<button type="submit">提交button>
form>
window.onload=function (){
document.getElementById("loginFrom").addEventListener("submit",function (){
account=document.getElementById("account") //获取用户名和密码
password=document.getElementById("password")
if(account.value==""||password.value==""){ //判断是否为空
alert("未输入用户名或密码")
}else {
//alert(account.value+" "+password.value)
this.submit() //手动提交表单
}
},false)
}
由此可以完成一个简单表单验证,若用户名或密码未输入则不能跳转,输入完整即可跳转到登录成功页面