美文网首页
JS知识点整理-3

JS知识点整理-3

作者: mia米呀 | 来源:发表于2019-04-06 19:04 被阅读0次

JS函数的重载

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

  • JS是否存在重载?
    --不存在,调用最后一个方法,把传递的参数保存到arguments里面
    -- 但是可以通过其他方式模拟重载 arguments

BOM browser object model 浏览器对象模型

有哪些对象?

  • navigator 获取客户机的信息(浏览器的信息)
    navigator.appName
  • screen 获取屏幕的信息
    screen.width/ screen .height
  • localtion 请求url的地址
    href属性
    -- 获取到请求的url地址 location.href
    -- 设置url地址
    页面上设置一个按钮,绑定事件,点击页面跳转另一个页面
    <input type="button" value = "tiaozhuan" onclick="href1">
  • history
    history.back()
    history.forward()
  • window
    -窗口对象
    -顶层对象(所有的bom对象都是在windows里面操作的)
    方法:
    a. windows.alert() 页面弹窗,显内容
    b. windows.confirm() 确认框
    var flag = windows.confirm("显示的内容");
    c. prompt: 输入的对话框
        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: 文档对象模型

  • 文档:超文本文档(超文本标记文档)html、xml
    对象:提供了属性和方法
    模型: 使用属性和方法操作不好文本标记型文档
    -- 可以使用js里面的dom提供的对象的属性和方法,对标记性文档进行操作
    -- 如何进行操作? 首先 封装成对象(需要把html中的标签 属性文本内容都封装成对象)
    -- 要想对标记型文档进行操作,解析标记型文档
    -- 解析过程
    根据html的层级结构 在内存中分配一个树形结构 需要把html中的每部分封装成对象
    -document对象:整个文档
    -element对象:标签对象
    -属性对象
    -文本对象
    -- node对象,这些对象的父对象
    如果在对象里面找不到想要的方法 这个时候到Node对象里面去找
  • DOM 模型和DHTML
    DOM的三种模型:
    -- level1 将html文档封装成对象
    -- level2 在level1的基础上添加新的功能,例如:对于事件和CSS样式的支持
    -- level3 支持xml11.0的一些新特性
  • DHTML 是很多技术的简称:
    -HTML: 封装数据
    -css:使用属性和属性值设置样式
    -dom :操作html文档
    -javascript:专门指的是js的语法语句(ECMAScript)

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();
        }

练习一:在末尾添加节点

  • 获取到ul标签
  • 创建li标签 document.createElement()
  • 创建文本document.createTextNode()
  • 将文本添加到li下 appendChild()
  • 将li添加到ul下
            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);
        }

元素对象

  • 要操作element对象,首先必须要获取到element,使用document的方法获取
  • 方法:
  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对象属性一

  • nodeName
  • nodeType
  • nodeValue
  • 使用dom解析html的时候,需要html'里面的标签,属性,文本都封装成对象
  1. 标签节点对应的值
    nodeType:1
    nodeName:大写的标签名称 eg:SPAN
    nodeValue: null
  2. 属性节点对应的值
    nodeType:2
    nodeName:属性名称
    nodeValue: 属性的值
  3. 文本节点对应的值
    nodeType:3
    nodeName:text
    nodeValue: 文本内容

Node对象属性二

  • 父节点
    parentNode
//Node节点演示:得到li
        var li2 = document.getElementById("li11");
        //得到ul
        var ul22 = li2.parentNode;
        alert(ul22.id);
  • 子节点
    childNodes:得到所有的子节点,兼容性很差
    firstChild:获取第一个子节点
var ul3 = document.getElementById("ulid");
        var li111 = ul3.firstChild;
        alert(li111.id);

lastChild:获取最后一个子节点

var ul3 = document.getElementById("ulid");
        alert(ul3.lastChild.id);
  • 同辈节点
    nextSibling:返回给定节点的下一个兄弟节点
    previousSibling:返回给定节点的上一个兄弟节点
        var li33 = document.getElementById("li33");
        alert(li33.nextSibling.id);

相关文章

  • js小知识点

    js小知识点 整理 js小知识点 (一):获取元素 1:document.getElementById('id名'...

  • JS知识点整理-3

    JS函数的重载 什么是重载? 方法名相同,参数不同 JS是否存在重载?--不存在,调用最后一个方法,把传递的参数保...

  • js知识点整理

    这是我前段时间学习js的知识点的整理,我把它写成了一个文件,简书上不知道怎么上传唉。。。 然后就放在了githup...

  • js 知识点整理

    1.js借鉴了c及c语言, 2.区分大小写, 结尾 ';' 需加上,虽不是必须的,但在压缩会报错,增进性能 3.变...

  • js知识点整理

    typeof 与intanceof的区别 typeof和instanceof的区别是:typeof的返回值是一个字...

  • 前端 JavaScript基础知识梳理

    前言 javascript内容较多,知识点较杂。我整理了一些js基础的知识点(只是知识点的名称,内容不做详解),希...

  • 2020-06-11 JS Library

    常用JS库整理:PDFLibChartJsd3Chartsd3funelesignature

  • JS生疏知识点整理

    const : 定义变量不可更改;定义对象可更改、扩展、删除对象属性值,仅仅能做到不可更改引用(重新赋值)而已。 ...

  • JS知识点整理-2

    JS的string对象 创建String对象 var str =“abc” 方法和属性属性length 字符串的长...

  • JS 小知识点整理

    常见操作数组、字符串 API 字符串API定义用法slice(start, end)用于提取字符串中介于两个指定下...

网友评论

      本文标题:JS知识点整理-3

      本文链接:https://www.haomeiwen.com/subject/pysibqtx.html