JS基础
1、两种引入方式直接写和引入文件
<script></script> <script src="a.js"></script>
2、声明变量 var ;结尾
变量name写法 i&s 变量名 声明数据类型加变量名 打印功能console.log(a,s,f) 然后检查的console里查看 代码块用{}控制 尽量加缩进 基本数据类型放到堆内存 对象在堆内存里存的只是一个地址类似指针,对象内容实际存储在栈内存。
3、注释方式
1)、// 注释单行 2)、/* */ 注释多行
4、5种基本数据类型
1)Number 包括整形和浮点型 2)String 字符串数据类型 3)Boolean 4)undefined 5)Null
5、算数运算符
var a=1; var b=a++; 先赋值后加减 也就是 b=1 a=2 var a=1; // var b=a++; var b=++a 先加减后赋值 也就是都是2
6、逻辑运算符
等于 ( == ) 、不等于( != ) 、 大于( > ) 、 小于( < ) 大于等于(>=) 、小于等于(<=) 与 (&&) 、或(||) 、非(!) 与3&& true 后面的true 或3 || ture 前面的3
7、控制语句
if语句 var week = "sunday"; if(week=="sundsay"){ alert('8') }else if (week =="aaa"){ alert('not 8') } else { alert('heihei') } switch 比if效率要高 类似shell case when var x=3; switch (x){ case 1:y="1"; break; case 2:y="2"; break; case 3:y="3"; break; case 4:y="4"; break; case 5:y="5"; break; default: y='8'; }
8、for循环
表达一 a=['a','hello',1] for (var i in a){ console.log(a[i]) console.log(i) } 表达二 for (var i=1;i<10;i++){ console.log(i) } or for (var i=1;i<10;i=i+1){ console.log(i) }
9、function创建方式、属性、方法
1)创建方式 function func1(){ alert(1234); return 8 } var ret=func1() alert(ret) 2)属性、方法 void 阻拦alert 返回结果 undefined var s="hello"; var i=8; alert(typeof (s)); alert(typeof (i)); * 判断数据类型,只能判断基本数据类型,不能判断对象,只能检测出是一个object instanceof取布尔值 是不是实例化的对象 * 遍历str及算长度 var a="heihei"; var a2=new String("heihei2"); // alert(a.length) for (var i in a2){ alert(a2[i]) } * 大小写转换 console.log(a.toUpperCase()) console.log(a.toLowerCase()) * 取字符 console.log(a.charAt("2")) console.log(a.search('i')); 返回索引值 console.log(a.match('i')); 返回数组 里面是所有匹配结果 console.log(a.replace("e","aaaa")) 替换 console.log(a.split("e")) 切分 console.log(a.concat(" world")) 拼接str var arr=[1,2,3,6]; var arr2=new Array(5,'hello',true,[1,3]) 数组创建方式 ,可变长 取3的值和python列表一样alert(arr2[3][1]) alert(['asd','sdaasdasd'].join("+++++++")) 数组中的字符串拼接成一个字符串 //队列:先进先出 栈:先进后出 var arr1 = [1,4,6]; arr1.push(13) arr1.push("hello",'7') console.log(arr1) ret=arr1.pop() alert(ret) push类似append往数组里面添加数据 pop从后往前删除,可以返回数据。尾部操作 shift插入前面 unshift从前往后删除 * js Date对象 // 创建方式 var date_obj=new Date(); alert(date_obj.toLocaleString()) var date_obj2=new Date("2018/2/2 12:00"); alert(date_obj2.toLocaleString()) * 正则两种创建方式 // 正则 g全局i不区分大小写 var re_obj=new RegExp("\d+","gi") alert(re_obj.test("dsa7889asd")) var re_obj2=/\d+/g; alert(re_obj2.test('sdasad67878das')) 和字符串方法连用 var s='hello'; alert(s.match(/l/g)) * math对象 // math对象 alert(Math.random()) 0,1 小数 alert(Math.round(2.5)) 四舍五入 Math.pow(2,3) 2的三次方 BOM对象 window对象 window.alert('显示内容') 确认按钮 var ret = window.confirm('内容是否保存') 确认取消按钮 alert(ret) if (ret){ } else { } window.prompt("hello") 输入框 可以有返回结果 取消返回null ret = window.prompt("hello") alert(ret)
10、js window对象
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <input type="text" id="clock" style="width: 250px"> <input type="button" value="begin" onclick="begin_click()"> <input type="button" value="end" onclick="End()"> <script> function begin(){ var stime=getTime(); console.log(stime); var ret=document.getElementById("clock"); ret.value=stime; } // setInterval定时器传入两个参数第一需要执行的函数,二时间,单位为毫秒,返回值是ID号 var ID //var 定义局部变量修改 function begin_click(){ // End(); if (ID==undefined){ begin(); ID=setInterval(begin,1000); } } function End(){ clearInterval(ID); ID=undefined } function getTime(){ //1. 创建Date对象 var date = new Date(); //没有填入任何参数那么就是当前时间 //2. 获得当前年份 var year = date.getFullYear(); //3. 获得当前月份 js中月份是从0到11. var month = date.getMonth()+1; //4. 获得当前日 var day = date.getDate(); //5. 获得当前小时 var hour = date.getHours(); //6. 获得当前分钟 var min = date.getMinutes(); //7. 获得当前秒 var sec = date.getSeconds(); //8. 获得当前星期 var week = date.getDay(); //没有getWeek // 2014年06月18日 15:40:30 星期三 return year+"年"+changeNum(month)+"月"+day+"日 "+hour+":"+min+":"+sec+" "+parseWeek(week); } //alert(getTime()); //解决 自动补齐成两位数字的方法 function changeNum(num){ if(num < 10){ return "0"+num; }else{ return num; } } //将数字 0~6 转换成 星期日到星期六 function parseWeek(week){ var arr = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; // 0 1 2 3 ............. return arr[week]; } </script> </body> </html>
window.history对象提供三种方法:forward back go
<input type="button" value="前进" onclick="func1();"> <a href="his.html">前进</a> <script> function func1(){ //history.forward();
history.go(1) } </script> <input type="button" value="后退"onclick="func2();"> <a href="history.html">后退</a> <script> //history对象提供三种方法:forward back gos function func2(){ // history.back()
history.go(-1)
} </script>
window.location 1个方法reload 一个属性href 页面重新加载及跳转
<input type="button" value="reload" onclick="location.reload()">
<input type="button" value="reload" onclick="location.href='http://www.baidu.com'">