客户端脚本语言
JavaScript = ECMAScript + BOM + DOMjavascript
内部定义css
外部定义html
示例java
<!DOCTYPE html> <html lang="en"> <!-- script可在任意地方写,可是script在head中则先执行, 在body中则head执行完才执行 --> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!-- 内部方式 --> <script> alert("hello world"); //注释 </script> <script src="js_0.js"></script><!-- 外部方式--> </body> </html>
原始数据类型(基本数据类型)正则表达式
引用数据类型:对象api
js为弱类型语言:在开辟变量存储空间时不定义空间未来存储数据类型
var 变量名 = 初始化值;数组
<script> // var a = 3 // alert(a); // a = "abb"; // alert(a); //alter是输出一个弹框 var num0 = 1; var num1 = 1.1; var num2 = NaN; //document.write()为输出语句 document.write(num0 + "</br>"); document.write(num1 + "</br>"); document.write(num2 + "</br>"); </script>
//js_1.js var num = 1; var count = 1; // document.write("<table border = '1' align = 'center'>"); document.write("<table align = 'center'>"); for (num = 1; num <= 9; num++) { document.write("<tr>"); for (count = 1; count <= num; count++) { document.write("<td>"); document.write(num + "*" + count + "=" + num * count + " "); document.write("</td>"); } // document.write("<br>") document.write("</tr>") }
<!DOCTYPE html> <html lang="en"> <style> td { border: 1px solid;//css写边框 } </style> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script src="js_1.js"></script> </body> </html>
//法一 var fun = new Fuction(形参列表,方法体); //不经常使用
//法二 function 方法名称(形参){ 方法体; }
//法三 var 方法名 = function(形参){ 方法体; }
方法浏览器
属性app
特色dom
示例
function count(a, b) { alert(a + b); } // count(1, 2); var count1 = function (a, b) { alert(a + b); } // count(2, 3); function add() { var sum = 0; for (var i = 0; i < arguments.length; i++) {//这里arguments.length则为传入形参个数 // document.write(arguments[i]); sum += arguments[i]; } return sum; } var m = add(1, 2, 3, 4, 5, 6); // document.write(m); alert(m); // add(1, 2, 3, 4, 5);
//法一 var arr = new Array(元素列表); //法二 var arr = new Array(默认长度) //法三 var arr = [元素列表]
方法
属性
特色
示例
var arr1 = new Array(1, 2, 3); document.write(arr1 + "<br>"); var arr2 = new Array(2); arr2[1] = 12; document.write(arr2 + "<br>"); // var arr3 = new Array[1, 2, 3, 4]; // document.write(arr3 + "<br>"); var arr4 = ["asd", 1, true];//类型可变,可是注意是中括号 document.write(arr4[1] + "<br>"); document.write(arr4 + "<br>");//默认输出为一个字符串,都拼接在一块儿 document.write(arr4.join("-") + "<br>") arr4.push("mt"); document.write(arr4.join("-") + "<br>") //输出结果: /**1,2,3 *,12 *1 *asd,1,true *asd-1-true *asd-1-true-mt */
var date = new Date();
正则表达式对象
正则表达式:定义字符串的组成原则
单个字符 [] 如 [a]
量词符号
正则对象
var reg = new RegExp("正则表达式"); var reg = /正则表达式/;
var reg = new RegExp("^\\w{6,12}$"); // 这里前面的\表示转义,^和$表示开始和结尾 var reg1 = /^\w{6,12}$/; // 这种经常使用 alert(reg); alert(reg1); var uname = "asdfghjkl"; var flag = reg.test(uname); // test函数检测字符串是否符合要求 document.write(flag);
全局对象,里面的方法不须要对象能够直接调用
方法
示例
var uname = "江苏"; var en = encodeURI(uname); document.write(en + "<br>"); var den = decodeURI(en); document.write(den + "<br>"); var n = "123abd"; var num = parseInt(n); document.write(num + "<br>"); //123 var n1 = "n123abd"; var num1 = parseInt(n1); document.write(num1 + "<br>"); //NaN var code = "alert(\"victory\")"; document.write(code); eval(code);
浏览器对象模型,将浏览器各个组成部分封装成对象
组成
建立
方法
属性
特色
示例
//开关浏览器 var k; var f = document.getElementById("bt"); f.onclick = function () { k = open("www.baidu.com"); } var m = document.getElementById("close"); m.onclick = function () { k.close();//谁调用关闭谁 }
var m = 1; var p = document.getElementById("pic"); var lunbo = function(){//假定有三张图片 m++; if(m>3){ m = 1; } p.src = "../img/banner_"+m+".jpg"; } setInterval(lunbo,2000);//无参方法不能够带括号!!!
var t = 5; var time = document.getElementById("time"); function jump(){ t--; time.innerHTML = t+""; if(t==0){ location.href = "http://www.baidu.com"; } } setInterval(jump,1000);
history表示的是当前窗口开过的页面,而不是浏览器的历史记录
建立
方法
属性
var h = document.getElementById("title"); h.innerHTML = "hhhh";
事件
开关灯案例
var i = document.getElementById("pic"); var flag = false; i.onclick = function(){ if(flag){ i.src = "../img/off.gif"; flag = false; }else{ i.src = "../img/on.gif"; flag = true; } }
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <img id= "pic" src="../img/off.gif"> <script src = "./开关灯.js"></script> </body> </html>
Document:文档对象
获取Element对象:
建立其余DOM对象:
Attribute:属性对象
var b1 = document.getElementById("button1"); var b2 = document.getElementById("button2"); // var s = document.getElementById("jump"); var s = document.getElementsByTagName("a")[0]; //使用标签名得到,由于返回的是数组,因此用的是第一个元素 //超连接只可在a标签中用,如果p标签则没有用 button1.onclick = function(){ s.setAttribute("href","https://www.baidu.com"); } button2.onclick = function(){ s.removeAttribute("href"); }
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style> div{ border: 1px solid red;//对div边框作设置 } #div1{ width: 200px; height: 200px; } #div2{ width: 100px; height: 100px; } #div3{ width: 50px; height: 50px; } </style> </head> <body> <!-- <img id= "pic" src="../img/banner_1.jpg" width="100%"> --> <!-- <a id = "jump">点击跳跃</a> --> <!-- <input type="button" id = "button1" value="设置属性"> <input type="button" id = "button2" value="删除属性"> --> <div id = "div1"> div1 <div id = "div2">div2</div> </div> <!-- 当前div2是div1的子节点 --> <a id = "del" href = "javascript:void(0);">点击删除div2</a> <a id = "add" href = "javascript:void(0);">点击添加div3</a> <!-- 这里的a标签因为href没写,默认是当前页面,因此点击后页 面没有变化,若是用button则功能正常 --> <!-- 须要在href中写"javascript:void(0);"才可保留其可点击 的属性,但不进行超连接的跳转 --> <!-- <script src = "./增删节点.js"></script> --> <script> var del = document.getElementById("del"); del.onclick = function(){ var div1 = document.getElementById("div1"); var div2 = document.getElementById("div2"); div1.removeChild(div2); } var add = document.getElementById("add"); add.onclick = function(){ var div1 = document.getElementById("div1"); var div3 = document.createElement("div"); div3.setAttribute("id","div3"); div1.appendChild(div3); } </script> </body> </html>
var div = document.getElementById("div1"); var innerhtml = div.innerHTML; div.innerHTML = "<input type = 'button'>"; //这里的innerHTML即为标签体,能够直接修改它,也能够用+=添加东西
var div = document.getElementById("div1"); div.onclivk = function(){ div.style.border = "1px solid red"; } div.onclivk = function(){ div.className = "d1";//d1为一个css样式 }
点击事件:
焦点事件
加载事件:
鼠标事件:
键盘事件:
选择和改变
表单事件: