JS知识点整理-3

2019-04-06  本文已影响0人  mia米呀

JS函数的重载

什么是重载? 方法名相同,参数不同

BOM browser object model 浏览器对象模型

有哪些对象?

    history.back()
    history.forward()
        window.promp("pls input :","0")
        window.promp("在显示的内容 :","默认值")

d. open(): 可以打开一个新的窗口,
open("打开新窗口的地址","","窗口特征,比如高度和宽度")
-- 创建一个按钮,点击打开新的窗口

       window.open("JSDate.html","","width=200,height=300");

e. close()关闭窗口 浏览器兼容性差

      windows.close() 

f. 做定时器
--setInterval("JS代码",“毫秒数”) 每3秒执行一次js代码

           window.setInterval("alert('123')","3000");

--setTimeout("JS代码",“毫秒数”) 在毫秒数之后执行,只执行一次

          window.setTimeout(alert('12345'),"2000");

-- clearInterval() //清除setInterval

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

-- clearTimeout() //清除setTimeout

DOM document object model: 文档对象模型

Document对象

  1. write()方法:a. 向页面输出变量 b. 向页面输出html代码
  2. getElementById():通过id得到标签,返回对象
   // getElementById() 通过id得到标签
    var input1 = document.getElementById("name");
    //得到input的value值
    alert(input1.value);
    //向input中设置一个值value
    input1.value = "cccc";
  1. getElementsByName(): 通过标签的name的属性值得到标签,返回集合或数组
var input2 =  document.getElementsByName("byname");//传递的参数是name的属性值
    alert(input2.length);
    //遍历数组
    for (var i = input2.length - 1; i >= 0; i--) {
        document.write(input2[i].value);
        document.write("<br/>");

    }
  1. getElementsByTagName(): 通过标签名称得到标签,返回集合或数组
//  演示getElementsByTagName方法
    var input3 = document.getElementsByTagName("input");//传递的参数是标签名称
    alert(input3.length);

    for (var i = input3.length - 1; i >= 0; i--) {
        alert(input3[i].value);
    }
  1. 注意:只有一个标签或name,这个使用getEelementsByname(or TagName)返回的是一个数组,但是只有一个,可以直接数组下标获取值
var input3 = document.getElementsByTagName("input")[0];
alert(input3.value);

Window 练习

opener:可以得到创建这个窗口的窗口

        //实现input1方法
        fucntion input1(num1.nam1){
            //需要把num1 和nam1 复制到window页面,
            //跨页面的操作 opener:可以得到创建这个窗口的窗口

            var pwin = window.opener();
            pwin.document.getElementById("userId").value = num1;
            pwin.document.getElementById("userName").value = nam1;

            //关闭窗口
            wimdow.close();
        }

练习一:在末尾添加节点

            function add1(){
            //获取到ul标签
            var ul1 = document.getElementById("ulid");
            //创建标签
             var li1 = document.createElement("li");
            //创建文本
            var text1 = document.createTextNode("555");
            //文本加入li下面
            li1.appendChild(text1);
            //li加入ul末尾
            ul1.appendChild(li1);
        }

元素对象

  1. getAttribute(): 获取的值
//获取input标签
    var input1 = document.getElementById("inputid");
    alert(input1.value);

    alert(input1.getAttrinute(value));
  1. setAttribute(name,value);
  2. removeAttribute(name); 无法删除value
  3. 获取标签下的子标签
    a. 使用属性childNodes 但是兼容性很差
    b. 在Element对象中查找其他节点的唯一有效方法就是getElementByTagName()方法,返回一个集合
//获取到ul标签
        var ul2 = document.getElementById("ulid");
        //获取子标签

        var licount = ul2.getElementsByTagName("li");
        alert(licount.length);

Node对象属性一

  1. 标签节点对应的值
    nodeType:1
    nodeName:大写的标签名称 eg:SPAN
    nodeValue: null
  2. 属性节点对应的值
    nodeType:2
    nodeName:属性名称
    nodeValue: 属性的值
  3. 文本节点对应的值
    nodeType:3
    nodeName:text
    nodeValue: 文本内容

Node对象属性二

//Node节点演示:得到li
        var li2 = document.getElementById("li11");
        //得到ul
        var ul22 = li2.parentNode;
        alert(ul22.id);
var ul3 = document.getElementById("ulid");
        var li111 = ul3.firstChild;
        alert(li111.id);

lastChild:获取最后一个子节点

var ul3 = document.getElementById("ulid");
        alert(ul3.lastChild.id);
        var li33 = document.getElementById("li33");
        alert(li33.nextSibling.id);
上一篇 下一篇

猜你喜欢

热点阅读