• js知识巩固


    1.数组操作中使用splice和slice进行删除数组的区别!

    splice会对原数组进行操作,返回的是被删除元素组成的数组,原数组会被进行改变即变成删除后的数组,用于删除列表中的元素,arr.splice(index,1)常用于删除列表中的某个元素(index对应的元素);

    slice不会对原数组进行操作,返回的是一个新数组,例如arr.slice(0,10),这时候arr数组里面的元素没有改变,返回的是一个被截取出来的新数组,可用于控制列表显示个数和点击显示更多!!

    实例:

    arrNew=arr.slice(0,10),arrNew是新的数组,被截取的内容,而arr里面的内容不受影响。

    arr.slice(start,end)没有end的时候,默认最后一个元素。

    arr.splice(index,howmay,item1...itemx),,howmay=0表示不删除,item1,item2增加数组是从index开始增加,例如index=2,那么arr[2]=item1

    push()跟concat()的区别

    push()是把里面的元素当一个整体往数组arr里面塞的,而concat()是将元素一个个塞,然后push()会改变原数组,而concat不会改变原数组,会返回一个新数组!!

    2、随机数Math.random()公式
    1.0-x之间的随机数: 

    Math.round(Math.random()*x); 

    2.x至y之间的随机数 

    Math.round(Math.random()*(y-x)+x); 

    3.1-x之间的随机数:

    Math.ceil(Math.random()*x);

     解析:Math.round()是进行四舍五入、Math.ceil()向上取整、Math.floor()向下取整的出来的结果跟parseIn()一样!!

     3、指针指向问题 ( new date() )

    var nowDate= new Date("2018/08/07");//获取当前的日期,nowDate指向 new Date()这个指针!!,进行指定日期实例化

    var oldDate=new Date(nowDate.setDate(nowDate.getDate()+1));  //设置明天的日期,最后用new Date()进行实例化!!

    当nowDate经过第二步的改变后,变成跟oldDate一样

     alert(nowDate.format("yyyy/MM/dd"))   //2018/08/08
     alert(oldDate.format("yyyy/MM/dd"))    //2018/08/08

     4、js下获取子元素的方法

    使用firstElementChild只会获取元素节点对象,从名称就可以看出来,firstChild则可以获取文本节点对象(当然也可以获取元素节点对象),比如空格和换行都被当做文本节点。

    <div>
        <p>123</p>
    </div>

    使用firstChild获取第一个元素

    如下代码获取第一个元素,获取不到

    var oDiv=document.getElementByTagName("div")[0];
    alert(oDiv.firstChild.nodeName)

    因为现代浏览器中firstChild会把<div>   <p>两个标签之间的空白节点也解析出来,所以会alert出#text(由于空白节点是属于text文本节点),把代码改成<div><p>123</p></div>即可,但是不方便

    使用firstElementChild获取第一个元素

    firstElementChild就指明要第一个子元素,空白的东东就不算了~~,但是问题又来了,firstElementChild这个方法在现代浏览器中兼容,但是在ie678中却没有这个方法,一旦在ie678中使用这个方法就会出错。

    所以要用Children方法,经测试children方法在所有主流浏览器中都兼容,包括ie678,并且它也能实现firstElementChild的功能

    <div>
        <p>123</p>
    </div>
    var first=document.getElementByTagName("div")[0].children[0]
  • 相关阅读:
    栈的压入、弹出序列
    HM代码分析--TAppEncoder
    HM代码分析--TAppDecoder
    包含min函数的栈
    GMOJ 6841. 【2020.11.5提高组模拟】淘淘蓝蓝之树 林
    【2020.11.5提高组模拟】总结
    dsu on tree学习总结 (树上启发式合并)
    GMOJ 6847. 【2020.11.03提高组模拟】通往强者之路
    2020.11.03【NOIP提高A组】模拟
    【2020.11.02提高组模拟】总结
  • 原文地址:https://www.cnblogs.com/qdlhj/p/8473741.html
Copyright © 2020-2023  润新知