美文网首页
数组 数组常用方法

数组 数组常用方法

作者: 张明越 | 来源:发表于2019-06-11 22:50 被阅读0次

数组

相当于Python的列表

//面向对象的方式创建

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]);//弹出c


数组常用方法

join方法能把成员合并

push方法能在末尾增加一个

pop方法能在末尾减少一个

unshift方法能在开头增加一个

shift方法能在开头减少一个

reverse反转

indexof 查找

splice 增加 删减 插入替换


通过标签获取元素

根据id为唯一标识去获取页面上的元素

还可以通过class去获取

根据标签名获取元素


循环语句

通过循环语句可以反复的执行一段代码多次

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


字符串处理的方法

split切割

/*字符串切断转成数组*/

var sTr = '2018-06-20';

var aRr = sTr.split('-');

// alert(aRr);//2018,06,20

// console.log(aRr);

var aRr2 = sTr.split('');

// console.log(aRr2);

/*实际上就是修改了<title>标签的内容*/

// document.title = aRr2;

var sTr2 = '#div1';

var sTr3 = '.div1';

/*获取指定索引的字符*/

var sTr4 = sTr2.charAt(0);

if(sTr4 == '#'){

// alert('id选择器');

}

/*查看子串第一次出现的位置*/

var sTr5 = 'Microsoft Yahei';

var num = sTr5.indexOf('Yahei');

// alert(num);//10

var num2 = sTr5.indexOf('xihei');

// alert(num2);//没有找到就弹出-1

/*substring截取子串*/

//从10开始,截到15(包括开始位置,不包括结束位置)

// var sTr6 = sTr5.substring(10,15);//Yahei

//从10开始截取到末尾

var sTr6 = sTr5.substring(10);//Yahei

// alert(sTr6);

/*全部转为大写字母*/

// alert(sTr6.toUpperCase());//YAHEI

/*全部转为小写字母*/

alert(sTr6.toLowerCase());//yahei


字符串反转

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;/*默认不显示,用定时器显示*/

}

/*

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';//关闭弹框和遮罩

}

}

</script>

</head>

<body>

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

}

相关文章

网友评论

      本文标题:数组 数组常用方法

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