一.定时器


学习目标

  • 能够实现反复执行的定时器


1. 定时器的介绍

定时器就是在一段特定的时间后执行某段程序代码。

2. 定时器的使用:

js 定时器有两种创建方式:

  1. setTimeout(func[, delay, param1, param2, ...]) :以指定的时间间隔(以毫秒计)调用一次函数的定时器

  1. setInterval(func[, delay, param1, param2, ...]) :以指定的时间间隔(以毫秒计)重复调用一个函数的定时器

setTimeout函数的参数说明:

  • 第一个参数 func , 表示定时器要执行的函数名

  • 第二个参数 delay, 表示时间间隔,默认是0,单位是毫秒

  • 第三个参数 param1, 表示定时器执行函数的第一个参数,一次类推传入多个执行函数对应的参数。

<script>functionhello(){ alert('hello'); }
​// 执行一次函数的定时器setTimeout(hello, 500);
</script>

setInterval函数的参数说明:

  • 第一个参数 func , 表示定时器要执行的函数名

  • 第二个参数 delay, 表示时间间隔,默认是0,单位是毫秒

  • 第三个参数 param1, 表示定时器执行函数的第一个参数,一次类推传入多个执行函数对应的参数。

<script>functionhello(){ alert('hello'); } // 重复执行函数的定时器setInterval(hello, 1000);
</script>

2. 清除定时器

js 清除定时器分别是:

  • clearTimeout(timeoutID) 清除只执行一次的定时器(setTimeout函数)

  • clearInterval(timeoutID) 清除反复执行的定时器(setInterval函数)

clearTimeout函数的参数说明:

  • timeoutID 为调用 setTimeout 函数时所获得的返回值,使用该返回标识符作为参数,可以取消该 setTimeout 所设定的定时执行操作。

<script>functionhello(){alert('hello');// 清除只执行一次的定时器clearTimeout(t1)}// 执行一次函数的定时器t1=setTimeout(hello, 500);
</script>

clearInterval函数的参数说明:

  • timeoutID 为调用 setInterval 函数时所获得的返回值,使用该返回标识符作为参数,可以取消该 setInterval 所设定的定时执行操作。

<script>functionhello(){ alert('hello'); } // 重复执行函数的定时器vart1=setInterval(hello, 1000);
​functionstop(){// 清除反复执行的定时器clearInterval(t1); }
​
</script>
​
<inputtype="button"value="停止"onclick="stop();">

5. 小结

  • 定时器的创建

  • 只执行一次函数的定时器, 对应的代码是setTimeout函数

  • 反复执行函数的定时器, 对应的代码是setInterval函数

  • 清除定时器

  • 清除只执行一次函数的定时器, 对应的代码是clearTimeout函数

  • 清除清除反复执行的定时器, 对应的代码是clearInterval函数

二.函数定义和调用


学习目标

  • 能够写出函数的定义和调用方式


1. 函数定义

函数就是可以重复使用的代码块, 使用关键字 function 定义函数。

<scripttype="text/javascript">// 函数定义functionfnAlert(){alert('hello!');}
</script>

2. 函数调用

函数调用就是函数名加小括号,比如:函数名(参数[参数可选])

<scripttype="text/javascript">// 函数定义functionfnAlert(){alert('hello!');}// 函数调用fnAlert();
</script>

3. 定义有参数有返回值的函数

定义函数时,函数如果有参数,参数放到小括号里面,函数如果有返回值,返回值通过 return 关键字来返回

<scripttype="text/javascript">
functionfnAdd(iNum01,iNum02){variRs=iNum01+iNum02;returniRs;alert('here!');
}
​
variCount=fnAdd(3,4);
alert(iCount);  //弹出7
</script>

函数中'return'关键字的作用:1、返回函数中的值2、执行完return函数执行结束

4. 小结

  • 函数的定义

function函数名(参数[参数可选]){

// 函数的代码实现

...

}

  • 函数的调用

函数名(参数[参数可选])

三.获取标签元素


学习目标

  • 能够写出获取标签元素的操作


1. 获取标签元素

可以使用内置对象 document 上的 getElementById 方法来获取页面上设置了id属性的标签元素,获取到的是一个html对象,然后将它赋值给一个变量,比如:

<scripttype="text/javascript">varoDiv=document.getElementById('div1');alert(oDiv);
</script>
<divid="div1">这是一个div元素</div>

说明:上面的代码,如果把javascript写在元素的上面,就会出错,因为页面上从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载。

解决方法有两种:

第一种方法:将javascript放到页面最下边

<divid="div1">这是一个div元素</div>
​
<scripttype="text/javascript">varoDiv=document.getElementById('div1');alert(oDiv);
</script>

第二种方法:设置页面加载完成执行的函数,在执行函数里面获取标签元素。

<scripttype="text/javascript">window.onload=function(){varoDiv=document.getElementById('div1');}
</script>

说明:onload是页面所有元素加载完成的事件,给onload设置函数时,当事件触发就会执行设置的函数。

2. 小结

  • 获取标签元素需要等待页面加载完成,使用document.getElementById('标签id');

条件语句


学习目标

  • 能够写出多条件判断的条件语句


1. 条件语句的介绍

条件语句就是通过条件来控制程序的走向

2. 条件语句语法

  1. if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码

  1. if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码

  1. if...else if....else 语句 - 使用该语句来判断多条件,执行条件成立的语句

3. 比较运算符

假如 x = 5, 查看比较后的结果:

比较运算符

描述

例子

==

等于

x == 8 为 false

===

全等(值和类型)

x === 5 为 true; x === "5" 为 false

!=

不等于

x != 8 为 true

>

大于

x > 8 为 false

<

小于

x < 8 为 true

>=

大于或等于

x >= 8 为 false

<=

小于或等于

x <= 8 为 true

比较运算符示例代码:

variNum01=12;
varsNum01='12';
​
if(iNum01==12){alert('相等!');
}
else{alert('不相等!')
}
​
// "==" 符号默认会将符号两边的变量转换成数字再进行对比,这个叫做隐式转换
if(sNum01==12){alert('相等!');
}
else{alert('不相等!')
}
​
// "===" 符号不会转换符号两边的数据类型
if(sNum01===12){alert('相等!');
}
else{alert('不相等!')
}
​
// 多条件判断
varsFruit="苹果";
if (sFruit=="苹果") {alert("您选择的水果是苹果");
} elseif (sFruit=="鸭梨") {alert("您选择的水果是鸭梨");
} else {alert("对不起,您选择的水果不存在!")
}

4. 逻辑运算符

假如 x=6, y=3, 查看比较后的结果:

比较运算符

描述

例子

&&

and

(x < 10 && y > 1) 为 true

||

or

(x==5 || y==5) 为 false

!

not

!(x==y) 为 true

逻辑运算符示例代码:

varx=6;
vary=3;
​
if(x<10&&y>1){alert('都大于');
}
else{alert('至少有一个不大于');
}
​
if(x>5||y>7 ){alert('至少有一个大于');
}
else{alert('都不大于');
}
​
if(!(x==y)){alert('等于')
}
else{alert('不等于')
}

5. 小结

  • 条件语句三种写法

  • if 语句 适用于单条件判断

  • if else 语句 适用于两种条件的判断(成立和不成立条件判断)。

  • if else if else 语句 适用于多条件判断

数组及操作方法


学习目标

  • 能够根据下标删除指定元素


1. 数组的介绍

数组就是一组数据的集合,javascript 中,数组里面的数据可以是不同类型的数据,好比 python 里面的列表。

2. 数组的定义

// 实例化对象方式创建
varaList=newArray(1,2,3);
​
// 字面量方式创建,推荐使用
varaList2= [1,2,3,'asd'];

3. 多维数组

多维数组指的是数组的成员也是数组,把这样的数组叫做多维数组。

varaList= [[1,2,3],['a','b','c']];

4. 数组的操作

1、 获取数组的长度

varaList= [1,2,3,4];
alert(aList.length); // 弹出4

2、 根据下标取值

varaList= [1,2,3,4];
alert(aList[0]); // 弹出1

3、 从数组最后添加和删除数据

varaList= [1,2,3,4];
aList.push(5);
alert(aList); //弹出1,2,3,4,5
aList.pop();
alert(aList); // 弹出1,2,3,4

4、根据下标添加和删除元素

arr.splice(start,num,element1,.....,elementN)

参数解析:

  1. start:必需,开始删除的索引。

  1. num:可选,删除数组元素的个数。

  1. elementN:可选,在start索引位置要插入的新元素。

此方法会删除从start索引开始的num个元素,并将elementN参数插入到start索引位置。

varcolors= ["red", "green", "blue"];
colors.splice(0,1);  //删除第一项
alert(colors);  //green,blue
​
colors.splice(1, 0, "yellow", "orange");  //从第一个索引位置插入两项数据
alert(colors);  //green,yellow,organge,blue
​
colors.splice(1, 1, "red", "purple");  //删除一项,插入两项数据
alert(colors);  //green,red,purple,orange,blue

5. 小结

  • 数组的定义使用一对中括号

  • 获取数组的长度使用length属性

  • 从数组最后添加元素使用push方法

  • 从数组最后删除元素使用pop方法

  • 根据下标添加和删除元素使用splice方法

循环语句


学习目标

  • 能够写出2种循环语句


1. 循环语句的介绍

循环语句就是让一部分代码重复执行,javascript中常用的循环语句有:

  • for

  • while

  • do-while

2. for循环

vararray= [1, 4, 5];
​
for(varindex=0; index<array.length; index++){result=array[index];alert(result);
}

3. while循环

vararray= [1, 4, 5];
varindex=0;
​
while (index<array.length) {result=array[index];alert(result);index++;
}

说明:

当条件成立的时候, while语句会循环执行

4. do-while循环

vararray= [1, 4, 5];
varindex=0;
​
do {result=array[index];alert(result);index++;
} while (index<array.length);

说明:

当条件不成立的时候do语句也会执行一次

5. 小结

  • js中循环语句有:

  • for

  • while

  • do-while

字符串拼接


学习目标

  • 能够实现字符串拼接的操作


1、字符串拼接

字符串拼接使用: "+" 运算符

variNum1=10;
varfNum2=11.1;
varsStr='abc';
​
result=iNum1+fNum2;
alert(result); // 弹出21.1
​
result=fNum2+sStr;
alert(result); // 弹出11.1abc

说明

数字和字符串拼接会自动进行类型转换(隐士类型转换),把数字类型转成字符串类型进行拼接

小结

  • "+" 运算符能够实现字符串的拼接操作

掌握JavaScript相关推荐

  1. 【AJAX】JavaScript的面向对象

    Ajax中后端数据返回后需要前端通过JavaScript来实现动态数据更新的问题.所以,在Ajax中加深了一遍JavaScript面向对象的印象. 基础部分: JavaScript中创建对象并简单对象 ...

  2. 【JavaScript总结】JavaScript语法基础:JS高级语法

    作用域链: 1.JS中只有函数能够限定作用域的范围: 2.变量处理在制定的函数范围内,还有一个特殊的作用域,就是没有用var 声明的全局作用域 3.js中的作用域链是为了清晰的表示出所有变量的作用范围 ...

  3. 【JavaScript总结】JavaScript语法基础:DOM

    ->DOM的理解:文档对应dom树 ->有了DOM能做什么:DOM的操作 html文档做为DOM树模型,DOM树的节点就是对象.对象会触发事件来执行一些事件代码. C#中的事件是一个委托变 ...

  4. 【JavaScript总结】JavaScript语法基础:JS编码

    运算符 数学:+. -. *. / 逻辑:>. < .>= .<=. == . !=.&&.|| . === .!==(完全等于) 对象相关 new delet ...

  5. 【JavaScript总结】JavaScript语法基础:数据类型

    ------>数据类型有哪些? ->基本类型:数字类型,布尔类型,字符串类型 ->引用类型:对象类型,函数类型 ->空类型:null 和 undefined ->运算符: ...

  6. 【JavaScript总结】JavaScript发展与学习内容

    发展: 最初浏览器是为大学里浏览文档用,从地址栏输入文档地址,找到文档显示. 后来各种需求(购物网站,个人博客)出现,已有功能不能满足需求. 可人们依旧在努力满足这种需求,但实现后的效果很不尽人意. ...

  7. Python:模拟登录、点击和执行 JavaScript 语句案例

    案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...

  8. [JavaScript] JavaScript数组挖掘,不只是讲数组哟(2)

    课程来源:后盾人 上一篇的内容:[JavaScript] JavaScript数组挖掘,不只是讲数组哟 数组引用类型分析,多维数组,用Array.of为数组创建细节,类型检测与转换,在一个数组后面加一 ...

  9. [JavaScript] JavaScript 数组挖掘,不只是讲数组哟

    课程来源:后盾人 数组引用类型分析 数组的定义 const array = new Array('hello', 'dust', 1, 2, 3, 4, 5) console.log(array) l ...

  10. linux下用js生成xml,js2xml:将javascript字符串转换为xml

    有时候爬数据遇到像下面这种,数据在script标签中以javascript形式存在. var totalReviewsValue = 32; var averageRating = 4.5; if(t ...

最新文章

  1. 设计模式(二)__装饰设计模式
  2. 数据中台产品经理面试指南(二)
  3. Docker 容器的运行(八)
  4. ROS笔记(5) ROS架构
  5. 【ACM】nyoj_2_括号配对问题_201308091548
  6. MX记录有什么用?为什么今天的电子邮件系统是这样的?
  7. 基于SSM的二手交易平台
  8. Extjs4创建简单的图片上传
  9. Mac删除声音输出设备
  10. ExtJs6学习(二)【环境介绍,构建程序】
  11. 注意!!!谷歌python技术已流出,经过腾讯T6大佬总结,现在分享给大家(有实例分享)
  12. rtx服务器限制文件传输,rtx 服务器 文件传输 配置
  13. 微信公众号二次开发可以做哪些功能?
  14. Android应用测速组件实现原理,这篇看完还不懂跟我去摆地摊,全网首发
  15. Vue脚手架、镜像源下载及使用
  16. 经典激光雷达SLAM系统:LOAM-Livox
  17. 加密软件 PGP安装教程。
  18. 浅析c4编译器--一个优秀的编译器是如何生成的
  19. 部署springboot+vue项目文档(若依ruoyi项目部署步骤)
  20. ZAB、Raft协议简述

热门文章

  1. 都是同事为什么你的信用卡额度比我高?
  2. (子)罗尔定理的证明
  3. 来自520的福利----视频直播平台性能测试
  4. 我们身边的大数据日常
  5. Android 编程之入门开发文件夹管理器开发详细讲解-1
  6. 【Python】设计模式(2)--抽象工厂模式
  7. Informatica学习笔记 .
  8. Android音频子系统(八)------数字耳机通话无声问题解析
  9. 【自动控制原理】笔记1——开环系统闭环系统-反馈控制
  10. xx.web文件放置