js的对象操作~~~~二

继上一篇文章,String对象,Array对象往下讲。接下来会简洁概括重要的知识点就可以,学习方法前面已经讲了

3、js的Date对象:js里面获取当前时间
Date() :可返回当天的日期和时间。
toLocaleString() :可根据本地时间把 Date 对象转换为字符串,并返回结果。我们熟悉的时间

    //获取当前时间
    var date = new Date();
    document.write(date);  // Sat Dec 10 2016 13:15:51  GMT+0800 (中国标准时间)
    document.write(Date());//这样也可以,不用实例化
    //转换成习惯的格式
    document.write(date.toLocaleString());

getFullYear(): 获取当前的年方法

    document.write("year: "+date.getFullYear());

** getMonth(): 获取当前的月方法

    //返回的是 0-11月,如果想要得到准确的值,加1
    var date1 = date.getMonth()+1;
    document.write("month: "+date1);

** getDay():获取当前的星期,返回的是 (0 ~ 6)

    //外国朋友,把星期日作为一周的第一天,星期日返回的是 0
    //而星期一到星期六 返回的是 1-6
    document.write("week: "+date.getDay());

** getDate():获取当前的日,当前的天 1-31

    document.write("day: "+date.getDate());

** getHours():获取当前的小时

    document.write("hour: "+date.getHours());

**getMinutes(): 获取当前的分钟

    document.write("minute: "+date.getMinutes());

** getSeconds(): 获取当前的秒

    document.write("second: "+date.getSeconds());

** getTime():获取毫秒数,返回的是1970 1 1 至今的毫秒数

    // 应用场景:
        //使用毫秒数处理缓存的效果(不有缓存)
            http://www.baidu.com?毫秒数

4、js的Math对象

数学的运算
里面的都是静态方法,使用可以直接使用 Math.方法()
** ceil(x): 向上舍人
** floor(x):向下舍人
** round(x):四舍五入
** random():得到随机数(伪随机数)- 得到0-1的随机数
** pow(x,y) : 可返回 x 的 y 次幂的值.
这些是经常用到的,还是老话,需要更多的去看手册

    <script type="text/javascript">
        var mm = 10.7;
        document.write("ceil: "+Math.ceil(mm));//11
        document.write("floor: "+Math.floor(mm));//10
        document.write("round: "+Math.round(mm));//11
        //random方法
        document.write(Math.random()); //0.5204865174162872
        //得到0-9的随机数
        document.write("<hr/>");
        document.write(Math.floor(Math.random()*10));
        //pow(x,y)  2的5次方
        document.write("<hr/>");
        document.write(Math.pow(2,5));
    </script>

5、js的全局函数:由于不属于任何一个对象,直接写名称使用,截图
这里写图片描述

eval() : 执行js代码(如果字符串是一个js代码,使用方法直接执行)

    var str = "alert('1234');";
    alert(str);//alert('1234')
    eval(str);  //1234

encodeURI() :对字符进行编码

    var encode1 = encodeURI(str1);//%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87aaa1234

decodeURI() :对字符进行解码

    var decode1 = decodeURI(encode1); //测试中文aaa1234

isNaN():判断当前字符串是否是数字

    --  var str2 = "aaaa";
        alert(isNaN(str2));//如果是数字,返回false如果不是数字,返回true

parseInt():类型转换

    var str3 = "123";
    document.write(parseInt(str3)+1); //124

6、js的函数的重载
** 什么是重载?方法名相同,参数不同
** js的重载是否存在? 不存在,但是可以调用最后一个方法,把传递的参数保存到 arguments数组里面
** js里面是否存在重载?(面试题目)
(1)js里面不存在重载。
(2)但是可以通过其他方式模拟重载的效果 (通过aruguments数组来实现)

function add1() {
            //比如传递的是两个参数
            if(arguments.length == 2) {
                return arguments[0]+arguments[1];
            } else if (arguments.length == 3) {
                return  arguments[0]+arguments[1]+arguments[2];
            } else if (arguments.length == 4) {
                return arguments[0]+arguments[1]+arguments[2]+arguments[3];
            } else {
                return 0;
            }
        }

7、js的bom对象: 浏览器对象模型
** 有哪些对象?
这里写图片描述

1) navigator: 获取客户机的信息(浏览器的信息)
- navigator.appName

    //navigator
    document.write(navigator.appName); //Netscape

2 ) screen: 获取屏幕的信息

    document.write(screen.width);
    document.write(screen.height);

3) location: 请求url地址
- href属性:获取到请求的url地址

//设置url地址: 页面上安置一个按钮,按钮上绑定一个事件,当我点击这个按钮,页面可以跳转到另外一个页面
location.href = "hello.html";
//鼠标点击事件  onclick="js的方法;"
<input type="button" value="tiaozhuan" onclick="href1();"/>
//打印出url地址
document.write(location.href);//http://localhost:8080/js/08-js%e7%9a%84bom%e5%af%b9%e8%b1%a1%e4%b8%80.html

4)history:请求的url的历史记录
- 创建三个页面
1、创建第一个页面 a.html 写一个超链接 到 b.html
2、创建b.html 超链接 到 c.html
3、创建c.html

    //到访问的上一个页面
    history.back();
    history.go(-1);
    //到访问的下一个页面
    history.forward();
    history.go(1);

5) window(**
* 窗口对象
* 顶层对象(所用的bom对象都是在window里面操作的)
** 方法
window.alert() : 页面弹出一个框,显示内容
** 简写alert()
confirm(): 确认框

//演示confirm方法
        var flag = window.confirm("是否删除?");
        if(flag == true) {
            alert("删除成功");
        } else {
            alert("删除失败");
        }

prompt(): 输入的对话框

    window.prompt("please input : ","0");
    window.prompt("在显示的内容","输入框里面的默认值");

open() : 打开一个新的窗口
open(“打开的新窗口的地址url”,”“,”窗口特征,比如窗口宽度和高度”)

//创建一个按钮,点击这个按钮,打开一个新的窗口
window.open("hello.html","","width=200,height=100");

close(): 关闭窗口(浏览器兼容性比较差)

    - window.close();

做定时器 setInterval(“js代码”,毫秒数) 1秒=1000毫秒,每相隔一定时间就会执行

    表示每三秒,执行一次alert方法
    window.setInterval("alert('123');",3000);

setTimeout(“js代码”,毫秒数):表示在毫秒数之后执行,但是只会执行一次

    //表示四秒之后执行js代码,只会执行一次
    window.setTimeout("alert('abc');",4000);

clearInterval(): 清除setInterval设置的定时器

var id1 = setInterval("alert('123');",3000);//通过setInterval会有一个返回值
clearInterval(id1);  //清除

clearTimeout() : 清除setTimeout设置的定时器

    //var id2 = setTimeout("alert('abc');",4000);
    //clearTimeout(id2);

8、js的dom对象(**):文档对象模型
** 文档:
超文本文档(超文本标记文档) html 、xml
** 对象:
提供了属性和方法
** 模型:使用属性和方法操作超文本标记型文档
画图分析,如何使用dom解析html
这里写图片描述
解析过程
根据html的层级结构,在内存中分配一个树形结构,需要把html中的每部分封装成对象,
- document对象:整个文档
- element对象:标签对象
- 属性对象
- 文本对象
– Node节点对象:这个对象是这些对象的父对象
* 如果在对象里面找不到想要的方法,这个时候到Node对象里面去找

9、document对象: 表示整个的文档

1)write()方法:(1)向页面输出变量(值)(2)向页面输出html代码

    var str = "abc";
    document.write(str);

2) getElementById():通过id得到元素(标签)

//使用getElementById得到input标签
var input1 = document.getElementById("nameid");  //传递的参数是标签里面的id的值
//得到input里面的value值
alert(input1.name);   //标签对象.属性名称
//向input里面设置一个值value
input1.value = "bbbbb";

3)getElementsByName():通过标签的name的属性值得到标签,返回的是一个集合(数组)

//使用getElementsByName得到input标签
var inputs = document.getElementsByName("name1");  //传递的参数是 标签里面的name的值
//alert(inputs.length);
//遍历数组
for(var i=0;i<inputs.length;i++) {   //通过遍历数组,得到每个标签里面的具体的值
    var input1 = inputs[i];  //每次循环得到input对象,赋值到input1里面
    alert(input1.value);    //得到每个input标签里面的value值
            }

4)getElementsByTagName(“标签名称”):通过标签名称得到元素

//演示getElementsByTagName
var inputs1 = document.getElementsByTagName("input");  //传递的参数,是标签名称
//alert(inputs1.length);
//遍历数组,得到每个input标签,跟上面一样

【注意地方】
只有一个标签,这个标签只能使用name获取到,这个使用,使用getElementsByName返回的是一个数组,但是现在只有一个元素,这个时候不需要遍历,而是可以直接通过数组的下标获取到值

//通过name得到input标签
var inputs2 = document.getElementsByName("name11")[0];
alert(inputs2.value);
var inputss = document.getElementsByTagName("input")[0];
alert(inputss.value);

未完待续~~~~

posted @ 2016-12-10 13:06  小郑6  阅读(202)  评论(0编辑  收藏  举报