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

  

posted @ 2017-11-21 14:50  Bourne.D  阅读(212)  评论(0编辑  收藏  举报