一、三元表达式

1.1 什么是三元表达式

由三元运算符组成的式子我们称为三元表达式

1.2 语法结构

条件表达式 ? 表达式1 : 表达式2

1.3 执行思路

如果表达式为结果真 则返回表达式1的值,如果条件表达式结果为假,则返回表达式2的值

1.4 举个栗子

  1. var num = 10;
  2. var result = num > 5 ? "大于5" : "小于5"; // 表达式是有返回值的
  3. console.log(result);
  4.  
  5. // 相当于
  6. if (num > 5) {
  7. result = "大于5"
  8. }else{
  9. result = "小于5"
  10. }

1.5 总结

三元表达式就是简化版的if-else

二、数字补0 案例

2.1 需求:如果数字小于10,则在这个数字前面补0,否则不做操作

2.2 思路:字符串拼接

2.3 举个栗子

  1. // 定义一个变量接收用户输入的值
  2. var num = prompt("请输入一个数字");
  3. // 把返回值赋值给一个变量输出
  4. var result = num < 10 ? '0' + num : num;
  5. console.log(result);

三、switch语句

3.1 什么是switch语句

switch语句也是多分支语句也可以实现多选1

3.2 语法结构

switch:转换、开关;case:小栗子或选项的意思;break:退出
switch(表达式){ case 空格 值1: 执行语句1; break; case 空格 值2: 执行语句2; break;... default:执行最后的语句;}

3.3 执行思路

执行思路:利用表达式的值和case后面的选项值相匹配,如果匹配成功,就执行该case里面的语句,如果都匹配失败,那么就执行default里面的语句

3.4. 举个栗子

  1. var num=1;
  2. switch (num) {
  3. case 1:
  4. console.log("这是1");
  5. break;
  6. case 2:
  7. console.log("这是2");
  8. break;
  9. case 3:
  10. console.log("这是3");
  11. break;
  12. default:
  13. console.log("没有匹配结果");
  14. break;
  15. }

四、循环

4.1 循环的目的:可以重复执行某些代码

4.2 语法结构

for (初始化变量; 条件表达式; 操作表达式) { 循环体 }

解析:

  • 初始化变量:就是用var声明的一个普通变量,通常用于作为计数器使用
  • 条件表达式:就是用来决定每一次循环是否继续执行,就是终止的条件
  • 操作表达式:是每次循环最后执行的代码,通常用于我们计数器变量进行更新(递增或者递减)

4.3 举个栗子

  1. // 打印100行你好
    for (let i = 0; i <= 100; i++) {
  2. console.log("你好!");
  3. }

4.3.1 计数器

for循环可以重复执行不同的代码,因为我们有计数器变量i的存在,所以i每次循环值都会发生变化

  1. // 输出一个人1~100岁
  2. for (let i = 1; i <= 100; i++) {
  3. console.log("Tao今年" + i + "岁了!");
  4. }

4.3.2 for 循环进行算术运算练习

  1. // 需求:
  2. // 1、求1-100之间所有整数的累加和
  3. var sum = 0;
  4. for (let i = 1; i <= 100; i++) {
  5. sum += i;
  6. }
  7.  
  8. console.log("1-100之间所有整数的累加和是:" + sum);
  9.  
  10. // 2、求1-100 之间所有数的平均值
  11. var sum = 0; // 和
  12. var avg = 0; // 平均值
  13. for (let i = 1; i <= 100; i++) {
  14. sum += i;
  15. }
  16. avg = sum / 100;
  17. console.log("平均值是:" + avg);
  18.  
  19. // 3、求1-100 之间所有偶数与奇数的和
  20. var even = 0; // 偶数
  21. var odd = 0; // 奇数
  22. for (let i = 1; i <= 100; i++) {
  23. if (i % 2 == 0) {
  24. even += i;
  25. } else {
  26. odd += i;
  27. }
  28. }
  29.  
  30. console.log("1-100 之间所有偶数和是:" + even);
  31. console.log("1-100 之间所有奇数和是:" + odd);
  32.  
  33. // 4、求1-100 之间所有能被3整除的数字的和
  34. var sum = 0;
  35. for (let i = 1; i <= 100; i++) {
  36. if (i % 3 == 0) {
  37. sum += i;
  38. }
  39. }
  40.  
  41. console.log("1-100 之间所有能被3整除的数字的和是:" + sum);

4.3.3 求学生成绩

  1. // 需求:用户输入班级人数,然后依次输入每个学生的成绩,最后打印出改班级的总成绩与平均成绩
  2. var classNum = prompt("请输入班级人数");
  3. var sum = 0; // 总成绩
  4. var avg = 0; // 平均成绩
  5. for (let i = 1; i <= classNum; i++){
  6. var score = prompt("第" + i + "位学生的成绩是:");
  7.  
  8. // 注意:在prompt里面取出来的值都是字符串类型的,所以需要强转为数字型
  9. sum += parseFloat(score);
  10. }
  11. avg = sum / classNum;
  12.  
  13. alert("该班级的总成绩是:" + sum+","+"平均成绩是:"+avg);

4.4 双重for循环

4.4.1 理解:可以把里面的循环看做是外层循环的语句

4.4.2 语法结构

for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式) {
        for (内层的初始化变量; 内层的条件表达式; 内层的操作表达式) {
               // 执行语句;             
         }
           
  }

4.4.3 执行过程:外层循环一次,里面的循环执行全部

4.4.4 举个栗子

4.4.4.1 打印五行五列的星星
  1.      var star = "";
  2. for (let i = 1; i <=5 ; i++) { // 外层循环打印五行
  3.  
  4. for (let j = 1; j <= 5; j++) { // 内层循环一行打印五个星星
  5. star += "★" ;
  6. }
  7.  
  8. // 如果一行打印完5个星星就要换行哦
  9. star += "\n";
  10. }
  11.  
  12. console.log(star);
4.4.4.2 打印倒三角形的星星
  1.      var star = "";
  2. for (let i = 1; i <= 10; i++) {
  3. // 因为j不再是固定的,而是随着行数变化的,j=2的时候就打印9颗星星,2,3,4...9
  4. for (let j = i; j <= 10; j++) {
  5. star += "★";
  6. }
  7. star += "\n";
  8. }
  9.  
  10. console.log(star);
4.4.4.3 打印九九乘法表
  1.      var str = "";
  2. for (let i = 1; i <=9; i++) {
  3. for (let j = 1; j <= i; j++) {
  4.  
  5. str += j + "*" + i + "=" + (i*j) + "\t";
  6. }
  7.  
  8. str += "\n"
  9. }
  10.  
  11. console.log(str);

5、数组

5.1 什么是数组

数组(Array)就是一组数据的集合,存储在单个变量下的优雅方法(即不用创建多个变量名)

5.2 创建数组的方法

方法一:利用new关键字创建数组

  1. var arr = new Array();

方法二:利用数组字面量创建数组(常用)

  1. var arr = []; // 创建了一个空的数组
  2. var arr1 = [1,2,'tao',true]; // 数组里面可以存储不同的数据类型

5.3 注意

  • 数组里面的数据一定要用逗号分割

  • 存放在数组里面的数据,称为数组元素

5.4  访问数组元素

5.4.1 数组的索引(下标)

用来访问数组元素的序号(数组下标从0开始)

5.4.2 格式:数组名[索引号]

5.4.3 举个栗子

  1. var arr2 = [1,2.2,'tao',true];
  2. console.log(arr2[2]); // 输出结果:tao

5.5 遍历数组

5.5.1 概念

就是把数组的元素从头到尾访问一次

5.5.2 通过循环遍历数组元素

因为数组索引是从0开始的,所以i必须从0开始,小于数组元素里面的长度

  1. var arr = ['tao', "tom", "fairy", "gin"];
  2.  
  3. for (let i = 0; i < arr.length; i++) {
  4. console.log(arr[i]);
  5. }

5.6 举个栗子

5.6.1 数组求和以及平均值

  1.      // 需求:计算数组元素的和以及平均值
  2. var sum = 0;
  3. var avg = 0;
  4. var arr = [2,4,6,8];
  5.  
  6. for (let i = 0; i < arr.length; i++) {
  7. sum += arr[i];
  8. }
  9.  
  10. avg = sum / arr.length;
  11.  
  12. console.log("数组中元素和是:"+sum);
  13. console.log("数组中元素平均值是:"+avg);

5.6.2 求数组中的最大值

5.6.1 分析需求
  1. 声明一个最大值变量max
  2. 默认最大值是数组中的第一个元素
  3. 遍历数组,把里面的每个元素和max相比较
  4. 如果这个元素大于max就把这个元素存储到max里面,否则就继续下一轮比较
  5. 输入最大值max
  1. var arr = [2,4,6,8,9,1,0];
  2. var max = arr[0];
  3. // 因为最大值已经默认是数组中的第一个元素了,所以就不需要和第一个元素比较了,所以从1开始
  4. for (let i = 1; i < arr.length; i++) {
  5. if (arr[i] > max) {
  6. max = arr[i];
  7. }
  8.  
  9. }
  10.  
  11. console.log("该数组里面的最大值是:"+max);

5.6.3 数组转换为分割字符串

  1. //需求:将var arr = ['tao', "tom", "fairy", "gin"]转换为字符串
  2. //输出tao,tom,fairy,gin
  3. var arr = ['tao', "tom", "fairy", "gin"];
  4. var str = ""; // 用来存储分割完的字符串
  5. for (let i = 0; i < arr.length; i++) {
  6. str += arr[i]+",";
  7. }
  8.  
  9. console.log(str);
 

JavaScrip基础学习笔记(一)的更多相关文章

  1. 【C#编程基础学习笔记】4---Convert类型转换

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]4---Convert类型转换 ...

  2. 【C#编程基础学习笔记】6---变量的命名

    2013/7/24 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com [C#编程基础学习笔记]6---变量的命名 ----- ...

  3. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)

    技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...

  4. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  5. Mysql数据库基础学习笔记

    Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一.单表查询 1.创建数据库yuzly,创建表fruits 创建表 ) ) ,) NOT NULL,PRIMARY KEY( ...

  6. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  7. Java基础学习笔记(一)

    Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...

  8. C#RabbitMQ基础学习笔记

    RabbitMQ基础学习笔记(C#代码示例) 一.定义: MQ是MessageQueue,消息队列的简称(是流行的开源消息队列系统,利用erlang语言开发).MQ是一种应用程序对应用程序的通信方法. ...

  9. handlebars.js基础学习笔记

    最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:h ...

  10. 基础学习笔记之opencv(6):实现将图片生成视频

    基础学习笔记之opencv(6):实现将图片生成视频 在做实验的过程中.难免会读视频中的图片用来处理,相反将处理好的图片又整理输出为一个视频文件也是非经常常使用的. 以下就来讲讲基于opencv的C+ ...

随机推荐

  1. Rust基本数据类型

    基本类型 Rust 每个值都有其确切的数据类型,总的来说可以分为两类:基本类型和复合类型. 基本类型意味着它们往往是一个最小化原子类型,无法解构为其它类型(一般意义上来说),由以下组成: 数值类型: ...

  2. vscode常用快捷键及插件

    macOS 全局 Command + Shift + P / F1 显示命令面板 Command + P 快速打开 Command + Shift + N 打开新窗口 Command + W 关闭窗口 ...

  3. Logstash:input plugin 介绍

  4. shell分割字符串并赋值给变量

    假如变量var的值为:num=12,也即var="num=12",现在想把 12赋值给变量id awk 的-F 后跟上要分割字符串时的指定分隔符 awk中$0是要分割的字符串,$1 ...

  5. Kubernetes(k8s)为容器设置启动时要执行的命令和参数

    创建 Pod 时设置命令及参数 创建 Pod 时,可以为其下的容器设置启动时要执行的命令及其参数.如果要设置命令,就填写在配置文件的 command 字段下,如果要设置命令的参数,就填写在配置文件的 ...

  6. MongoDB 副本集的用户和权限一般操作步骤

    步骤总结: 在主节点上添加超管用户,副本集会自动同步 按照仲裁者.副本节点.主节点的先后顺序关闭所有节点服务 创建副本集认证的key文件,复制到每个服务所在目录 修改每个服务的配置文件,增加参数 启动 ...

  7. host主机监控规则

    1.先在 Prometheus 主程序目录下创建rules目录,然后在该目录下创建 host.yml文件,内容如下: 内容很多,可以根据实际情况进行调整. 规则参考网址:https://awesome ...

  8. 1_MySQL

    一. 什么是数据库 概念: 数据库是按照数据结构来组织, 存储和管理数据的仓库, 是一个长期存储在计算机内的, 有组织的, 有共享的, 统一管理的数据集合 分类: 网状结构数据库: 美国通用汽车公司I ...

  9. SecureCRT登录centos日常操作

    ssh登录客户端很多,个人还是习惯使用SecureCRT,非常快捷.简单.针对日常小伙伴经常咨询的常用操作简单记录如下: 建立ssh2连接,比较简单,填写服务器ip及对应的登录用户即可. 登录界面中文 ...

  10. 谣言检测(PLAN)——《Interpretable Rumor Detection in Microblogs by Attending to User Interactions》

    论文信息 论文标题:Interpretable Rumor Detection in Microblogs by Attending to User Interactions论文作者:Ling Min ...