日期对象处理,DOM、BOM操作部分

一、日期对象Date:

创建日期对象:①获取当前日期 var date = new Date();

                                              new 通过类名 创建对象的关键字

                                              Date 日期类

                                              通过日期类  -> 创建一个当前的日期对象



                                              日期  年 月 日 周 时 分 秒 毫秒

                      ②获取将来 过去的时间(指定时间)new Date(1288336112000)

                                                                            var date = new Date();

                                                                            date.setTime(1288336112000);

时间戳:1970年-某个时间的  毫秒数

              时间戳 转日期对象    ① new Date(1288336112000)

                                              ②var date = new Date();

                                              ③date.setTime(1288336112000);

            日期对象->时间戳      var date = new Date();

                                              var t = date.getTime();

            设置日期                    var date = new Date();

                                              date.setHours(13);

补零的函数

function fillZero(num) {

    if (num<10){

        num = "0"+num;

    }

    return num;

    // return num<10?"0"+num:num;

}


function yyyymmdd(timestamp) {

    //如果传了 时间戳 就创建指定日期

    //如果没有传时间戳 就创建 当前时间

    var date = timestamp?new Date(timestamp):new Date();

    var y = date.getFullYear();

    var m = date.getMonth()+1;

    var d = date.getDate();

    //2020-08-09

    m = fillZero(m);

    d = fillZero(d);

    return y+"-"+m+"-"+d;

}



function hhmmss(timestamp) {

    var date = timestamp?new Date(timestamp):new Date();

    var h = fillZero(date.getHours());

    var m = fillZero(date.getMinutes());

    var s = fillZero(date.getSeconds());

    var ms = date.getMilliseconds();

    return h+":"+m+":"+s+" "+ms;

}



function mmdd(timestamp) {

    var date = timestamp?new Date(timestamp):new Date();

    var m = fillZero(date.getMonth()+1);

    var d = fillZero(date.getDate());

    return m+"月"+d+"日";

}



function week(timestamp) {

    var date = timestamp?new Date(timestamp):new Date();

    var arr = ["日","一","二","三","四","五","六"];

    // var str = "日一二三四五六";

    // return "星期"+str.charAt(date.getDay());

    return "星期"+arr[date.getDay()];

}


获取上午(AM) 下午(PM)

function apm(timestamp) {

    var date = timestamp?new Date(timestamp):new Date();

    var hours = date.getHours();

    var temp;//上下午结果

    if (hours === 12){

        //有可能是下午

        //判断分秒是不是多了

        if(date.getSeconds()||date.getMinutes()){

            temp = "下午";

        }

    }

    temp = hours<=12?"上午":"下午";

    return temp;

}

二、DOM元素(document object model)

      文档对象模型  就是用js表示的标签

可以跟页面交互?

1.可以在js中获得到 标签

2.有哪交互(事件)

3.逻辑

查询dom元素的方法

1.查询DOM元素{

1.document.querySelector("选择器的名字")  查找到的永远是第一个元素

2.document.querySelectorAll("选择器的名字")

3.id选择器document.getElemetByld("不需要加#");

4.通过类选择器查document.getElementByClassName("item");//类选择器->伪数组

5.通过元素选择器查找document.getElementsByTagName("div");

伪数组


}*/

2.创建DOM元素:

doment.createElement.createElement("标签的名字")

3.DOM元素的操作:

1.把DOM元素放到父元素里面  父元素.appendChild(子元素)

2.删除元素

3.替换元素

4.设置元素的样式:

dom元素.style

5.设置元素的属性

a.dom元素.属性名=属性值  查询dom元素.属性名

dom元素.setAttribute(属性名,属性值)  查询dom元素.getAttribute("属性名")

6.事件:

1.鼠标事件:

鼠标移入事件:

onmouseover    先调用

onmouseenter  后调用


鼠标移出事件:

onmouseleave  先调用

onmouseout    后调用

1.点击事件  onClick  dom.onClick=function(事件对象){}

2.键盘事件

3.状态事件

4.事件监听:

添加监听事件 dom.addEventListen("事件名",函数)

移除监听事件

input  value 输入框输入的值

事件里面的大技巧:

阻止元素的默认行为  event.preventDefault();  如:去掉a标签刷新页面(跳转)功能  表单标签里面的


通过js设置样式    div.style.background = "red";


事件  点击  onClick:

                            var div = document.createElement("div");

                          div.onclick = function(){


                            };

三、BOM

Browser  Object  Model:浏览器对象模型  里面的内容是所有关于浏览器的操作

1.窗口对象

window窗口包含的部分

浏览器可视的范围:

1.导航

2.历史记录

3.屏幕大小

4.位置

窗口对象 是Window的实例对象

注意:1.定义的全局变量  是定义到了window对象上面  可以通过window.xx访问

            2.在最外面定义的函数  是定义到了window对象上面    可以通过window.xx访问

尺寸:

window.innerHeight-浏览器窗口的内部高度(包括滚动条)

innerWidth-浏览器窗口的内部宽度(包括滚动条)

如果要求使用IE6.7.8时  使用  document.body.clientHeight

                    document.body.clientWidth

动态获取窗口的宽高:

onresize=function{

      console.log();

}

事件:

resize

2.Location  位置定位

location.hostname 返回 web 主机的域名

location.pathname 返回当前页面的路径和文件名

location.port 返回 web 主机的端口 (80 或 443):

  80(web页面的默认端口) ;443(https 加密的超文本传输协议端口)普通的HTTP是没加密的,不需要开启443;21(FTP文件传输协议端口);3306(mysql数据库默认端口);

location.protocol 返回所使用的 web 协议(http: 或 https:)

location.search返回搜索的结果(http GET方法的参数) 页面之间传参

location.href  本页的位置  指定页面要跳转的位置

3.History    历史记录

前提:必须有历史记录  才能使用这些函数

back  必须跳转了下一个页面  才有返回

forward  必须跳转过下一个页面(有返回过上一页)才能使用前进的功能

go  正数 往后跳    负数 返回  挑几级由里面数字决定

4.navigator  导航

1.geolocation  获取地理位置信息  经纬度

getCurrentPosition获取当前位置信息  参数  (成功时候调用的函数        失败时候调用的函数)

2.getUserWedia,mediaDevices  音频流  视频流的处理

5.定时事件                              setInterval(function(){

定时器(每隔多久执行一次)  }500);

                                                setTimeout(function(){

  延迟执行(只执行一次)},500)

6.数据持久化

你可能感兴趣的:(日期对象处理,DOM、BOM操作部分)