热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

小汤学编程之JavaScript学习day02——运算符、流程控制与循环、函数

一、运算符1.算术运算符   2.一元运算符   3.关系运算符   4.逻辑运算符   5.赋值运算符   6.运算符的优先级二、流程控制与循环1.顺序结构   2.分支结构  



在这里插入图片描述


一、运算符

1.算术运算符     2.一元运算符     3.关系运算符     4.逻辑运算符     5.赋值运算符     6.运算符的优先级

二、流程控制与循环

1.顺序结构     2.分支结构     3.循环结构

三、函数

1.JS中函数的特点     2.函数的定义     3.函数的调用     4.函数的参数



一、运算符


1.算术运算符


算术运算符说明
+
-
*
/
%取余数(取模)

2.一元运算符


一元运算符说明
++num/–num前置运算:先自加,后返回值
num++/num–后置运算:先返回值,后自加

3.关系运算符

又叫比较运算符, 两个数据 进行比较的运算符,会返回 一个 布尔值(true / false),作为比较运算的结果。


关系运算符说明
小于、大于号
<= / >=小于等于、大于等于号
==判等号(会自动转型)
!=不等号
===全等号
!==不全等号

== 判等号和 ===全等号的区别在于前者只判断值是否相等,而后者需要值与类型都相等。



4.逻辑运算符


逻辑运算符说明
&&逻辑与:两边都true才是true
||逻辑或:只要有一个是true就是true
逻辑非:也叫做取反符

5.赋值运算符


赋值运算符说明
=直接赋值
+=、-=加、减一个数后再赋值
*=、/=、%=乘、除、取模后再赋值

6.运算符的优先级


优先级运算符
1()优先级最高
2一元运算符:++、–、!
3算术运算符:先*、/、%,后+、-
4关系运算符:>、>=、<、<=
5相等运算符:==、!=、===、!==
6逻辑运算符:先&&,后||
7赋值运算符:=、+=等

速记规律:
先一元 后二元
先算术 后关系



二、流程控制与循环


1.顺序结构

由上而下的执行代码就是顺序结构。


2.分支结构


if语法

if (条件表达式) {
要执行的内容
}

if-else语法

if (条件表达式) {
成立要执行的代码
}
else {
否则要执行的代码
}

ifif-else if语法

if (条件表达式) {
成立要执行的代码
}
else if (条件表达式2) {
否则要执行的代码
}
else {
否则要执行的代码
}

三元表达式

表达式1 ? 表达式2 : 表达式3

switch case结构

switch( 变量 ){
case value1:
//表达式结果 等于 value1 时 要执行的代码
break;
case value2:
//表达式结果 等于 value2 时 要执行的代码
break;
default:
//表达式结果 不等于任何一个 value 时 要执行的代码
}

switch与if对比

  • switch…case通常处理case为比较确定值(常量)的情况,而if…else…更加灵活范围判断
  • switch 进行一次条件判断后直接执行到程序的条件语句。而if…else 有几种条件,就得判断多少次
  • 当只有分支比较少的时候,if效率比 switch高
  • 分支比较多,是switch的效率比较高,而且结构更清晰

3.循环结构


for循环

//for 循环一般 用来 根据次数 循环
for(初始化; 条件表达式; 自增表达式 ){
//循环体
}

for 循环 是 循环条件和数字 直接相关的循环


双层for循环:

for (外循环的初始; 外循环的条件; 外循环的增量) {
for (内循环的初始; 内循环的条件; 内循环的增量) {
需执行的代码;
}
}

while循环

//条件表达式为 true 时重复执行循环体代码
//条件表达式为 false 退出循环
while (条件表达式) {
// 循环体代码
}

do…while循环

do{
// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);

先执行一次循环体代码,再进行条件表达式判断



跳出循环

  • break —— 跳出整个循环
  • continue —— 跳出本次循环

三、函数

JS中通过函数来把一段逻辑封装用来重复使用。函数式通过关键字 function 来定义的。


1.JS中函数的特点


  • JS中的函数不需要定义返回类型,直接返回结果即可。
  • JS中的函数参数列表不需要定义类型以及var,只需定义变量名。
  • 函数需要调用才会执行,不调用是不会执行的。
  • 如果定义了多个方法名相同的函数,后面会覆盖前面的。
  • 函数没有重载,只要方法名相同就会去执行,不管参数列表是否匹配。

2.函数的定义


  • 方式一:function 函数名(参数列表){函数体}

function study(){
console.log("好好学习,天天向上。");
}

  • 方式二:var 函数名 = function(参数列表){函数体}

var study = function(){
console.log("好好学习,天天向上。");
}

  • 方式三(不推荐):var Function(“参数名一”,“参数名儿”,…,“函数体”)

var study = new Function("name", "time","console.log(name+'每天学习'+time+'分钟');console.log('继续保持')");

3.函数的调用


  • 方式一:函数名(参数值):study("张三",180);
  • 方式二:函数名.call(调用对象,参数值):study.call(this,"张三",180 );
  • 方式三:函数名.apply(调用对象,参数值数组):方式三:函数名.apply(调用对象,参数值数组);
  • 方式四:函数名.bind(调用对象,参数值)():study.bind(this,"张三",180 )();

bind会返回新的函数,需要调用才会执行,所以后面需要(),其它跟call用法一样。



4.函数的参数

JS中的参数都会封装到 arguments 中,当传入的参数多于函数定义的参数时,在函数体中可以通过这个参数拿到定义参数以外的参数值。
如:

var study = function(name , time){
// 传统方式只能拿到定义的参数
console.log(name);
console.log(time);
// 通过arguments可以定义参数以外的参数
console.log(arguments.length);
console.log(arguments[0]);
console.log(arguments[1]);
console.log(arguments[2]);
console.log(arguments[3]);

console.log(name+'每天学习'+time+'分钟');
}
study("zhangsan",180,1,"a");

另外,ES6也支持类似Java中的可变长度参数:

var study = function(name , time , ... args){
console.log(args);
}


推荐阅读
  • Python循环语句代码逐行详解:while、for、break和continue
    来源:大数据DT本文约3200字,建议阅读9分钟循环语句是指重复执行同一段代码块,通常用于遍历集合或者累加计算。Python中的循环语句有 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 前端js中的if ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • 本文总结了Java中日期格式化的常用方法,并给出了示例代码。通过使用SimpleDateFormat类和jstl fmt标签库,可以实现日期的格式化和显示。在页面中添加相应的标签库引用后,可以使用不同的日期格式化样式来显示当前年份和月份。该文提供了详细的代码示例和说明。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 那你就是学的c语言,跟我学c语言
    本文目录一览:1、如何学习C语言?2、新手如何 ... [详细]
  • 流程控制与Java基本类似,Kotlin提供了if和when两种分支语句,when可以替代 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
author-avatar
CH_Double_C
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有