数组 数组常用方法

数组

相当于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);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,287评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,346评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,277评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,132评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,147评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,106评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,019评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,862评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,301评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,521评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,682评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,405评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,996评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,651评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,803评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,674评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,563评论 2 352

推荐阅读更多精彩内容