前端知识点(12)

2019-06-11  本文已影响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>

上一篇下一篇

猜你喜欢

热点阅读