JavaScript定义
JavaScript是一种解释性的脚本语言,主要用来向html文档添加交互行为,可以直接嵌入html页面,让文档和行为分离,跨平台特性。
组成分成三部分:ECMAScript(European Computer Manufacturers Association)欧洲计算机制造商协会 DOM(Document Object Model)文档对象模型 BOM(Browser Object Model)浏览器对象模型
JavaScript三种存在形式
作为元素的属性:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<input type="button" value="登录" οnclick="alert('用户名非法请检查')"/>
</body>
</html>
作为文件引入:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<!--将JavaScript代码放到一个js文件中,文件位置:js/test_js.js-->
<script language="javascript" src="js/test_js.js"></script>
</head>
<body>
</body>
</html>
放入Script标签中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script>
//将javascript放到script标签中
alert("helloword");
</script>
</head>
<body>
</body>
</html>
JavaScript基本语法
parseInt、parseFloat、eval
<script>
var v1="20";
alert(v1+20);
alert(parseInt(v1)+20);//转换成整数
var v2="3.333";
alert(v2+1);
alert(parseFloat(v2)+1);//转换成浮点数
var v3=30;
var v4=40;
var v5="var temp"+v3+"="+v4;
alert(v5);
//将V5字符串转换成JavaScript表达式
eval(v5);//var temp30=40
alert(temp30);
</script>
DOM
获取文本框中的内容
demo:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript">
function showUserInfo(){
// alert("Hello");
alert(document.getElementById("username").value);
}
</script>
</head>
<body>
用户:<input type="text" name="username" id="username"/>
<br>
<input type="button" value="保存" οnclick="showUserInfo()" />
</body>
</html>
自定义对象
实例化一个person对象
demo
<script>
var person=new Object();
person.name="张三";
person.age=35;
alert(person.name+","+person.age);
alert(person["name"] +"," +person["age"]);
</script>
demo2:
<script language="javascript">
function Person(name,age){
this.name=name;
this.age=age;
}
var p=new Person("李四",30);
alert(p.name +"," +p.age);
</script>
demo3:
<script language="javascript">
function Person(name,age){
this.name=name;
this.age=age;
}
var p=new Person("李四",30);
alert(p.name +"," +p.age);
</script>
三大结构
选择语句
if else
<script>
var v=10;
if(v==10){
alert("v=10");}
else if(v==5){
alert("v==5");}
else{
alert("其他");
}
</script>
switch
<script>
var v="school";
switch(v){
case "school" :
alert("学校123");
break;
case 5:
alert("v=5");
default:
alert("其他")
}
</script>
内置对象
String
demo:
<script language="javascript">
var s1="Helloworld";//习惯性使用方法
var s2=new String("Helloworld");
//alert(s1);
//alert(s2);
//取得第四个位置的字符 e
alert(s1.charAt(1));
//返回匹配的字符串o的索引位置 4
alert(s1.indexOf("o"));
//取得最后一个l的位置 8
alert(s1.lastIndexOf("l"));
//分隔如下字符串 a b c d e
var s3 ="a,b,c,d,e";
var s4=s3.split(",");
for (var i=0;i<s4.length;i++){
alert(s4[i]);
}
//截取rld字符串 rld
alert(s1.substring(7,s1.length));
</script>
math
demo:
<script language="javascript">
alert(Math.random());
//取得最近的整数
alert(Math.round(Math.random()*10));
//-10
alert(Math.round(-10.3));
//10
alert(Math.round(10.6));
//取绝对值
alert(Math.abs(-50));
</script>
Date
demo
<script language="javascript">
var d=new Date();
alert(d.getDay());
alert(d.getDate());
alert(d.getMonth());
alert(d.getYear());
alert(d.getHours());
alert(d.getMinutes());
alert(d.getSeconds());
alert(d.getTime());
</script>
Array
demo
<script language="javascript">
var testArray1=new Array(10);
for(var i=0;i<testArray1.length;i++){
testArray1[i]=i;
}
for (var i=0;i<testArray1.length;i++){
document.write(testArray1[i]);
}
//换行
document.write("<p>");
//倒序
testArray1.reverse();
for (var i=0;i<testArray1.length;i++){
document.write(testArray1[i]);
}
document.write("<br>");
//升序
testArray1.sort();
for(var i=0;i<testArray1.length;i++){
document.write(testArray1[i]);
}
document.write("<br>");
//元素采用#号间隔输出
var s="";
for(var i=0;i<testArray1.length;i++){
s+=testArray1[i]+"#"
}
document.write(s.substring(0,s.length-1));//#1#2#3#4#5#6#7#8#9
document.write("<br>");
document.write(testArray1.join("#"));
//通过document可以遍历文档对应的数的每一个节点
</script>
demo1:
<script>
var testArray =['a','b','c','c'];
for(var i=0;i<testArray.length;i++){
alert(testArray[i]);
}
var testArray1=[[1,2],[1,2,3]];
for(var i =0;i<testArray1.length;i++){
for(var j=0;j<testArray1[i].length;j++){
alert(testArray[i][j]);
}
}
</script>
正则表达式
通过实例化正则表达式对象来判断是否存在oo串
<script language="javascript">
var s1="fweewflewjloowenoejWEWWEGERGOOOfwelfjweojfoj";
//是否存在oo串
var re=new RegExp(/o{2}/i);
alert(re.test(s1));
</script>
通过search方法来查找是否存在oo串,replace方法将oo替换为China
<script>
var s1="abcdfdofjofjfjoooldfj";
//是否存在oo子串
alert(s1.search(/o{2}/));
//不区分大小写
alert(s1.search(/B{1}/i));
var s2="wererfdfAABBSDfsdoodjfsdofj:EEGEWoOUOU"
//不区分大小写,全局查找
var s3=s2.replace(/o{2}/ig,"China");
alert(s3);
</script>