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'">

浙公网安备 33010602011771号