JS
<title>基础语法</title>
<script type="text/javascript">
var a = 10;
var b = "123";
var c = '456';
var d = true;
var e = null;
var g;
console.log("5" == 5);
console.log("5" === 5);
console.log("5" != 5);
console.log("5" !== 5);
console.log(typeof a);
console.log(Number(true));
console.log(Number(false));
console.log(Number("123"));
console.log(Number("abc"));
console.log(Number("a1"));
console.log(Number("1a"));
console.log(Number(""));
console.log(Number(" "));
console.log(Number(null));
console.log(Number(undefined));
console.log(String(undefined));
console.log(Boolean(-1));
console.log(3 + true);
console.log(null + 5);
console.log(false + "2");
console.log(5 - true);
console.log(6 + undefined);
console.log(parseInt(5.6));
console.log(parseInt("5.6"));
console.log(parseInt("34abc"));
console.log(parseInt("a36"));
console.log(parseInt(1100100,2));
var num = Math.random();
console.log(num);
function test(a, b){
console.log(a + b);
return a * b;
}
var c = test(10,20);
console.log(c);
var fn = function () {
console.log("我是匿名函数");
};
fn();
(function () {
console.log("我是匿名函数");
})();
(function () {
console.log("我是匿名函数");
}());
console.log("helloworld");
</script>
<script type="text/javascript" src="xx.js"></script>
简单的DOM操作
<body>
<div id="first"></div>
<input type="text" class="uName">
<input type="button" value="按钮">
</body>
<script type="text/javascript">
var first = document.getElementById("first")
first.style.backgroundColor = "blue"
first.style.border = "1px red solid"
first.style.margin = "50px auto"
// first.style.transform = "rotate(45deg)"
// 获取、修改内容 innerHTML可以解析字符串里面的标签
// innerText不能解析 可以写留言板
// first.innerHTML = "<p>福</p>"
first.innerText = "<p>福</p>"
console.log(first.innerHTML)
// 通过类名获取一组元素
var uNames = document.getElementsByClassName("uName")
// uNames是所有类名为uName的集合 先当数组用
uNames[0].value = "我是一个输入框"
console.log(uNames[0].value)
// 两种获取方式 三种修改内容 一种修改样式
// 通过标签名获取
var inputs = document.getElementsByTagName("input")[1]
var a = 1
// 添加点击方法 每次点击都会执行下面这个函数
inputs.onclick = function(){
console.log(123)
uNames[0].value = a++
first.style.transition = "1s"
first.style.width = a * 10 + "px"
first.style.height = "100px"
}
</script>
<body>
<input type="text" class="uName">
<input type="button" value="按钮">
<div id="first"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</body>
<script type="text/javascript">
var uNames = document.getElementsByClassName("uName");
var button = document.getElementsByTagName("input")[1];
button.onclick = function(){
var num = uNames[0].value;
var first = document.getElementById("first");
if (num % 2 == 0) {
first.innerHTML = num + "为偶数";
} else{
first.innerHTML = num + "为奇数";
}
}
var divs = document.getElementsByClassName("item");
var last = divs[0];
for (var i = 0; i < divs.length; i++) {
divs[i].num = i;
divs[i].onclick = function(){
console.log(this.num);
last.style.backgroundColor = "red";
this.style.backgroundColor = "gray";
last = this;
}
}
</script>
DOM
<body>
<div class="box">
我是box
<p>P</p>
</div>
</body>
<script type="text/javascript">
var newDiv = document.createElement("div");
newDiv.className = "item";
newDiv.id = "first";
newDiv.style.background = "red";
newDiv.innerHTML = "撒大师的萨顶顶发大水发的说法撒的";
var body = document.getElementsByTagName("body")[0];
var box = document.getElementsByClassName("box")[0];
body.appendChild(newDiv);
box.remove();
var obj = {
name:"丁鹏",
age:18,
gender:"man",
eat:function(){
console.log("吃饭");
}
};
obj.dd = 1;
console.log(obj);
console.log(newDiv);
console.log(box.childNodes);
console.log(box.children);
console.log(newDiv.offsetWidth);
console.log(newDiv.clientWidth);
console.log(newDiv.scrollHeight);
console.log(newDiv.offsetTop);
console.log(newDiv.offsetLeft);
console.log(newDiv.scrollTop);
</script>
定时器
一次性定时器 延时器
<script type="text/javascript">
setTimeout(f1,1000);
function f1(){
console.log("f1执行")
}
</script>
<script type="text/javascript">
var timer = setInterval(function(){
console.log("循环定时器");
},2000);
setTimeout(function(){
clearInterval(timer);
},8000);
</script>
事件名称
<head>
<meta charset="UTF-8">
<title>事件名称</title>
<style>
.redDiv{
width: 200px;
height: 200px;
background-color: red;
}
.body{
height: 3000px;
}
</style>
</head>
<body>
<div class="redDiv"></div>
<form action="" id="reg">
<input type="text" id="uName" />
<input type="submit" id="sub" />
<input type="reset" id="reset" />
</form>
</body>
<script type="text/javascript">
var redDiv = document.getElementsByClassName('redDiv')[0];
var reg = document.getElementById('reg');
var uName = document.getElementById('uName');
redDiv.onclick = function(){
console.log("单击事件");
}
redDiv.ondblclick = function(){
console.log("双击事件");
}
redDiv.onmousedown = function(){
console.log("鼠标按下事件");
}
redDiv.onmouseup = function(){
console.log("鼠标抬起事件");
}
redDiv.oncontextmenu = function(){
console.log("鼠标右击事件");
return false;
}
redDiv.onmousemove = function(){
console.log("鼠标在移动的时候触发")
}
redDiv.onmouseover = function(){
console.log("鼠标移入事件");
}
redDiv.onmouseout = function(){
console.log("鼠标移出事件");
}
redDiv.onmouseleave = function(){
console.log("鼠标移出事件");
}
redDiv.onmouseenter = function(){
console.log("鼠标移入事件");
}
document.onkeydown = function(){
console.log("down键盘按下");
}
document.onkeypress = function(){
console.log("press键盘按下");
}
document.onkeyup = function(){
console.log("键盘抬起事件");
}
uName.onchange = function(){
console.log("change内容发生变化之后触发");
}
uName.oninput = function(){
console.log("input内容发生变化之后触发");
}
uName.onfocus = function(){
console.log("聚焦");
}
uName.onblur = function(){
console.log("失焦");
}
reg.onsubmit = function(){
console.log("提交");
return false;
}
reg.onreset = function(){
console.log("重置");
return false;
}
window.onresize = function(){
console.log("窗口尺寸发生变化的时候触发");
}
window.onscroll = function(){
console.log("窗口内容滚动的时候触发")
}
window.onload = function(){
console.log("窗口加载完毕之后触发")
}
</script>
事件对象
<head>
<meta charset="UTF-8">
<title>事件对象</title>
<style type="text/css">
body{
height: 3000px;
}
.redDiv{
width: 200px;
height: 200px;
background-color: red;
}
p{
margin: 0;
height: 100px;
margin-left: 100px;
background-color: blue;
}
</style>
</head>
<body>
<div class="redDiv">
<p></p>
</div>
</body>
<script type="text/javascript">
var redDiv = document.getElementsByClassName('redDiv')[0];
redDiv.onclick = function(ev){
var evObj = ev || window.event
console.log(evObj.target);
console.log(evObj.clientY);
console.log(evObj.pageY);
console.log(evObj.offsetX);
}
document.onkeypress = function(ev){
console.log("press" + ev.keyCode)
}
document.onkeydown = function(ev){
console.log(ev.keyCode);
if (ev.keyCode == 66) {
console.log("按了B");
}
if (ev.keyCode == 66 && ev.metaKey) {
console.log("按了command + B");
}
}
</script>
动画
<style>
.redDiv{
width: 100px;
height: 100px;
background-color: red;
position: absolute;
left: 0px;
top: 0px;
animation-name: run;
animation-duration: 1s;
animation-timing-function: linear;
animation-iteration-count: 1;
animation-direction: normal;
animation-fill-mode: both;
}
@keyframes run{
0%{
left: 0px;
}
50%{
left: 50px;
}
100%{
left: 500px;
}
}
</style>
<body>
<div class="redDiv"></div>
</body>
数学对象
MATH
MATH.PI 代表 π
Math.random();
Math.abs(-3)
数组对象
<script type="text/javascript">
var arr = [1, 2, 3];
var arr2 = new Array();
var arr3 = new Array(5);
var arr4 = new Array("8");
var arr5 = new Array(4, 5);
console.log(arr, arr2, arr3, arr4, arr5);
console.log(arr5.length);
var newLength = arr5.push(6, 7, 8);
arr5.pop();
console.log(arr5 ,newLength);
var newLength2 = arr5.unshift(1, 2, 3);
console.log(arr5, newLength2);
var arr6 = [1, 2, 3, 4];
arr6.reverse();
console.log(arr6);
var str = arr6.join("-");
console.log(str);
arr7 = [99, 45, 78, 22, 11, 1, 123];
arr7.sort(function(a, b){
return a - b;
});
console.log(arr7);
var arr8 = [11, 22, 33, 44];
arr8.splice(1, 2, 123 , .0);
console.log(arr8);
</script>
日期对象
<script type="text/javascript">
var date = new Date("2016-7-8");
var date2 = new Date("2016-1-1");
console.log(date);
console.log(date2);
var res = date - date2;
console.log(res/1000/3600/24 + 1);
console.log(date.getFullYear());
date.setFullYear("2018");
console.log(date);
</script>
正则表达式
<script type="text/javascript">
var reg = /test/gi
var str = "hellotesthowareTESTyoutest";
console.log(str.match(reg));
var reg2 = /\d/g;
var str2 = "dsafd57a3f7a6f57af56a";
console.log(str2.match(reg2));
var reg3 = /\w/g;
var str3 = "kjlabfh343453;df]a_-a[]g!@#SAADFAFldGH-*/+0gf;d124gk;sdf'g";
console.log(str3.match(reg3));
var reg4 = /./g;
var str4 = "\t\nas dkjf?@!$^$%^&*&*&(*_)++9823DFGQW0";
console.log(str4.match(reg4));
var reg5 = /\s/g;
console.log(str4.match(reg5));
var reg6 = /\d{1,3}/g;
var str6 = "ka122j65sddsad45!@#645DFG)_+678+({";
console.log(str6.match(reg6));
var reg7 = /[2-46]{2}/g;
var str7 = "687421876423219865231564879564231213657897";
console.log(str7.match(reg7));
var reg8 = /[^123]/g;
var str8 = "1234567890";
console.log(str8.match(reg8));
var reg9 = /3((4)|(2))/g;
var str9 = "3254686541234987122135479812303324816132156423435765";
console.log(str9.match(reg9));
var reg10 = /^34/g;
var str10 = "342543466542035109665432123984732013013875616203033248184512335765"
console.log(str10.match(reg10));
var reg11 = /34$/g;
var str11 = "34254346654203510966543212398473201301387561620303324818451234"
console.log(str11.match(reg11));
var reg12 = /^1(3[01379]|47|5[0258]|61|7[378]|8[029])\d{8}$/g;
var str12 = "18267906670";
console.log(str12.match(reg12));
</script>
事件捕获和冒泡
<style type="text/css">
.box{
width: 600px;
height: 500px;
background-color: gray;
margin: 0 auto;
padding-top: 100px;
}
.mid{
width: 400px;
height: 300px;
background-color: blue;
margin: 0 auto;
padding-top: 100px;
}
.item{
width: 200px;
height: 200px;
background-color: green;
margin: 0 auto;
}
</style>
<body>
<div class="box">
<div class="mid">
<div class="item"></div>
</div>
</div>
</body>
<script type="text/javascript">
var box = document.getElementsByClassName('box')[0];
var mid = document.getElementsByClassName('mid')[0];
var item = document.getElementsByClassName('item')[0];
box.addEventListener("click", function(){
console.log("明爷")
},true);
mid.addEventListener("click", function(){
console.log("明爸")
},true);
item.addEventListener("click", function(ev){
console.log("小明")
},true);
</script>
事件绑定
<script type="text/javascript">
var redDiv = document.getElementsByClassName('redDiv')[0];
redDiv.addEventListener("click",function(){
console.log(1);
},false);
redDiv.addEventListener("click",f2
,false);
function f2() {
console.log(2);
}
</script>