美文网首页
前端知识点(12)

前端知识点(12)

作者: 爱抽烟的臭屁虫 | 来源:发表于2019-06-11 23:04 被阅读0次

    数组

    面向对象的方式创建

    var aRr01 = new Array(1,2,3,'abc');

    直接创建

    var aRr02 = [1,2,3,'def'']推荐使用,性能更高

    获取数组的成员数量(长度)

     alert(aRr02.length);//弹出4

     alert(aRr02[3]);//弹出cdf

    var aRr03 = [[1,2,3],['a','b','c','d'],[true,false]];

    alert(aRr03.length);弹出3

    alert(aRr03[1].length);弹出3

    alert(aRr03[1][2].length);弹出c


    数组常用方法

    var aRr = [1,2,3,4];

    用-连接数组元素并转为字符串

    var sTr = aRr.join("-");//用-连接数组元素并转为字符串,弹出1-2-3-4

     var sTr = aRr.join('');//用空串连接

     alert(sTr);//弹出1234

    向数组最后追加元素

     aRr.push(5);

     alert(aRr);//1,2,3,4,5

    删除末尾元素

     aRr.pop();

     alert(aRr);//1,2,3

    向最前面插入元素0

     aRr.unshift(0);

     alert(aRr);//0,1,2,3,4

    删除第一个(索引为0的)元素

     aRr.shift();

     alert(aRr);//2,3,4

    反转

     aRr.reverse();

     alert(aRr);//4,3,2,1


    通过标签获取元素

    window.onload = function(){

    // //获取页面上所有的li

    // var aLi = document.getElementsByTagName('li');

    //获取id为list01的ul

    var oList = document.getElementById('list01');

    //再获取这个ul下的所有li

    var aLi = oList.getElementsByTagName('li');

    alert(aLi.length);//8

    // aLi.pop();//错误用法,aLi是一个类似数组的选择集,没有数组通用的一些方法

    aLi[0].style.backgroundColor = 'gold';

    aLi[1].style.backgroundColor = 'gold';

    }

    </script>

    </head>

    <body>

    <ul id="list01">

    <li>1</li>

    <li>2</li>

    <li>3</li>

    <li>4</li>

    <li>5</li>

    <li>6</li>

    <li>7</li>

    <li>8</li>

    </ul>


    循环语句

    while循坏

            while(条件表达式){

                语句...

    }

    执行:

    - while语句在执行时,

    先对条件表达式进行求值判断,

    如果值为true,则执行循环体,

    循环体执行完毕以后,继续对表达式进行判断

    如果为true,则继续执行循环体,以此类推

    如果值为false,则终止循环

    do...while循坏

    do{

        语句...

    }while(条件表达式)

    执行流程

    do...while语句在执行时,会先执行循环体,

    循环体执行完毕以后,在对while后的条件表达式进行判断,

    如果结果为true,则继续执行循环体,执行完毕继续判断以此类推

    如果结果为false,则终止循环

    实际上这两个语句功能类似,不同的是while是先判断后执行,

    而do...while会先执行后判断,

    do...while可以保证循环体至少执行一次,

    而while不能

    for语句

    for

    在for循环中,为我们提供了专门的位置用来放三个表达式:

    1.初始化表达式

    2.条件表达式

    3.更新表达式

    for 循坏的语法

    for(①初始化表达式;②条件表达式;④更新表达式){

    ③语句...

    }

    for循环的执行流程:

    ①执行初始化表达式,初始化变量(初始化表达式只会执行一次)

    ②执行条件表达式,判断是否执行循环。

    如果为true,则执行循环③

    如果为false,终止循环

    ④执行更新表达式,更新表达式执行完毕继续重复②


    数组去重

    var aRr = [1,3,4,1,6,9,1,2,5,3,1,6,5,4,4];

    var aRr2 = [];

    for(var i=0; i<aRr.length; i++){

    //判断元素第一次出现的位置,恰好是当前索引时,就将元素放入新数组

    if(aRr.indexOf(aRr[i]) == i){

    aRr2.push(aRr[i]);

    }

    }

    alert(aRr2);//1,3,4,6,9,2,5


    字符串反转

    var sTr = "123asdf79888asdfe21";

    //1、split字符串转成数组

    //2、reverse数组反转

    //3、join数组转成字符串

    var sTr2 = sTr.split('').reverse().join('');

    alert(sTr2);//12efdsa88897fdsa321


    定时器弹窗

    .pop{

    width: 400px;

    height: 300px;

    background-color: #fff;

    border: 1px solid #000;

    /*固定定位*/

    position: fixed;

    /*左上角位于页面中心*/

    left: 50%;

    top: 50%;

    /*让div向左偏移半个宽度、向上偏移半个高度,使div位于页面中心*/

    margin-left: -200px;

    margin-top: -150px;

    /*弹窗在最上面*/

    z-index: 9999;

    }

    /*遮罩样式*/

    .mask{

    position: fixed;

    width: 100%;

    height: 100%;

    background-color: #000;

    left: 0;

    top: 0;

    /*设置透明度30%*/

    opacity: 0.3;

    filter: alpha(opacity=30);/*兼容IE6、7、8*/

    /*遮罩在弹窗的下面,在网页所有内容的上面*/

    z-index: 9990;

    }

    .pop_con{

    display: none;/*默认不显示,用定时器显示*/

    }

    </style>

    <script type="text/javascript">

    /*

    setTimeout 只执行一次的定时器

    clearTimeout 关闭只执行一次的定时器

    setInterval 反复执行的定时器

    clearInterval 关闭反复执行的定时器

    */

    window.onload = function(){

    var oPop = document.getElementById('pop');

    var oShut = document.getElementById('shutOff');

    /*setTimeout(showPop, 3000);//开启定时器,3秒后调用函数showPop()弹框

    function showPop(){

    oPop.style.display = 'block';//显示弹框和遮罩

    }*/

    //开启定时器的简写方式:调用匿名函数

    setTimeout(function(){

    oPop.style.display = 'block';

    }, 3000);

    oShut.onclick = function(){

    oPop.style.display = 'none';//关闭弹框和遮罩

    }

    }

    <h1>首页标题</h1>

    <p>页面内容</p>

    <a href="http://www.baidu.com">百度网</a>

    <div class="pop_con" id="pop">

    <div class="pop">

    <h3>提示信息!</h3>

    <a href="#" id="shutOff">关闭</a>

    </div>

    <div class="mask"></div>

    </div>


    定时器的基本用法

    //单次定时器

    var timer = setTimeout(function(){

    alert('hello!');

    }, 3000);

    //清除单次定时器

    clearTimeout(timer);

    //反复循环定时器

    var timer2 = setInterval(function(){

    alert('hi~~~');

    }, 2000);

    //清除反复循环定时器

    clearInterval(timer2);


    定时器动画

    .box{

    width: 100px;

    height: 100px;

    background-color: gold;

    position: fixed;

    left: 20px;

    top: 20px;

    }

    </style>

    <script type="text/javascript">

    window.onload = function(){

    var oBox = document.getElementById('box');

    var left = 20;

    //反复循环定时器,每30毫秒修改一次盒子的left值

    var timer = setInterval(function(){

    left += 2;

    oBox.style.left = left + 'px';

    //当left值大于700时停止动画(清除定时器)

    if(left > 700){

    clearInterval(timer);

    }

    },30);

    <div class='box' id = 'box'></div>

    相关文章

      网友评论

          本文标题:前端知识点(12)

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