Blogger Information
Blog 29
fans 1
comment 0
visits 14913
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
JavaScript的数据类型和判断与循环
Pharaoh
Original
487 people have browsed it

数据类型

JavaScript 的数据类型,可以大致分为以下几种:

  • 数值(number):整数和小数(比如1和3.14)
  • 字符串(string):文本(比如Hello World)
  • 布尔值(boolean):表示真伪的两个特殊值,即true(真)和false(假)
  • undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
  • null:表示空值,即此处的值为空
  • 对象(object):各种值组成的集合

原始类型

数值,字符串,布尔值,undefined,null都是原始类型,即它们是最基本的数据类型,不能再细分了,它们有以下两个特点:

  1. 单值let a = 1;
  2. 动态,即它们的数据类型由值的类型确定
    1. let a = 1;
    2. console.log(typeof a);
    3. a = "str";
    4. console.log(typeof a);

引用类型/合成类型

函数,数组,对象,因为一个它们往往是多个原始类型的值的合成,可以看作是一个存放各种值的容器

  1. const myArrey = ["我会在哪里呢", "你能猜到吗", true];
  2. console.log(myArrey);
  3. // 单独显示数组里的元素要使用索引/下标
  4. console.log(myArrey[0]);
  5. const myCar = { name: "benz", model: "E300L" };
  6. console.log(myCar);
  7. console.log(myCar["name"]);
  8. console.log(myCar.model);

如果变量的值是原始数据let a = 1;,那么在a内存中保存的就是变量名a和数据1
如果变量的值是引用类型函数,数组或对象const userInfo = {name:"Pharaoh", age:"30", skill:"吹牛"},那么userInfo内存中保存的是对象的地址值,地址指向了内存中保存{name:"Pharaoh", age:"30", skill:"吹牛"}的位置:

条件判断

使用if和switch,都可以完成条件判断,只有满足预设的条件,才会执行相应的语句

if

  1. // 单分支
  2. if (逻辑判断)
  3. 操作;
  4. // 双分支
  5. if (逻辑判断) {
  6. 满足条件时,执行的操作;
  7. }
  8. else {
  9. 不满足条件时,执行的操作;
  10. }
  11. // 多分支
  12. if (逻辑判断) {
  13. 满足条件时,执行的操作;
  14. }
  15. else if (逻辑判断){
  16. 满足条件时,执行的操作;
  17. }
  18. else if (逻辑判断){
  19. 满足条件时,执行的操作;
  20. }
  21. else {
  22. 不满足条件时,执行的操作;
  23. }

实例

  1. // 单分支
  2. let x = 1;
  3. if (x === 1) {
  4. console.log("X等于:" + x);
  5. }
  6. // 双分支
  7. if (x === 2) {
  8. console.log("X等于:" + x);
  9. } else {
  10. console.log("X不等于:" + 2);
  11. }
  12. // 多分支
  13. let car = "凯迪拉克";
  14. if (car === "凯迪拉克") {
  15. console.log(car + "不拉客,只拉美女和模特");
  16. } else if (car === "奥迪") {
  17. console.log("EA888谁修谁发家");
  18. } else if (car === "大众") {
  19. console.log("EA888谁修谁发家");
  20. } else {
  21. console.log("抱歉本会所暂不接待您的品牌");
  22. }

switch

多个if else if一起使用的的时候可以使用更方便的switch

  1. switch (true) {
  2. case 逻辑判断:
  3. 满足条件时,执行的操作;
  4. break;
  5. case 逻辑判断:
  6. 满足条件时,执行的操作;
  7. break;
  8. default:
  9. 以上逻辑都不满足条件时,执行的操作;
  10. }

实例

  1. let myLuckyNum = 8;
  2. switch (true) {
  3. case myLuckyNum === 8:
  4. console.log("恭喜你答对了");
  5. break;
  6. case myLuckyNum > 8:
  7. console.log("太大了");
  8. break;
  9. case myLuckyNum < 8:
  10. console.log("太小了");
  11. break;
  12. default:
  13. console.log("我的意大利炮呢?");
  14. }
  15. // 单值
  16. myLuckyNum = "8";
  17. switch (myLuckyNum) {
  18. case 8:
  19. console.log("恭喜你答对了");
  20. break;
  21. default:
  22. console.log("别乱输入");
  23. }

条件判断拓展:三元运算符

三元运算符可以理解为if…else的简写形式
(条件) ? 表达式1 : 表达式2
let x = (x === n) ? "X和N相等" : "X和N不相等"
如果“条件”为true,返回“表达式1”的值,否则返回“表达式2”的值

break和continue

break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行

  • break语句用于跳出代码块或循环
    1. let i = 0;
    2. while (i < 100){
    3. i++;
    4. if (i === 5)
    5. break;
    6. console.log('i 当前为:' + i);
    7. }
  • continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环
    1. let i = 0;
    2. while (i < 100){
    3. i++;
    4. if (i === 6)
    5. continue;
    6. console.log('i 当前为:' + i);
    7. }

循环

循环可以重复执行操作,有while和for两种

while循环

while循环需要一个条件,如果条件为真(true),就会重复执行代码区块里的操作

  1. while (条件) {
  2. 操作;
  3. }

实例

  1. // while
  2. let userNum = 1;
  3. while (userNum <= 8) {
  4. console.log(userNum);
  5. userNum++;
  6. }

do while循环

do while循环与while循环类似,唯一的区别就是先运行一次循环体,然后判断循环条件

  1. do {
  2. 操作;
  3. } while (条件);

实例

  1. // do while
  2. userNum = 0;
  3. do {
  4. userNum++;
  5. console.log("当前用户为: " + userNum);
  6. } while (userNum < 3);

for循环

for循环需要指定循环的起点(计数器),条件和递增操作

  1. for (起点(计数器); 条件; 递增操作) {
  2. 操作;
  3. }

实例

  1. // for
  2. let wishList = [
  3. { hat: "northface", color: "black" },
  4. { shose: "dunk", color: "black" },
  5. { shirt: "jack", color: "black" },
  6. ];
  7. let wishNum = wishList.length;
  8. for (i = 0; i < wishNum; i++) {
  9. console.log(wishList[i]);
  10. }

for of 和for in

  • for in遍历的是对象的属性的索引/下标

    1. let wishList = [
    2. { hat: "northface", color: "black" },
    3. { shose: "dunk", color: "black" },
    4. { shirt: "jack", color: "black" },
    5. ];
    6. for (let n in wishList) {
    7. console.log(n);
    8. }

    1. // 可以使用数组的索引得到元素
    2. for (let n in wishList) {
    3. console.log(wishList[n]);
  • for of遍历的是对象的属性所对应的元素

    1. for (let n of wishList) {
    2. console.log(n);
    3. }

    1. // 可以用内置的方法获得键(key)和索引
    2. for (let n of wishList.keys()) {
    3. console.log(n);
    4. }
    5. // 可以用内置的方法获得键(key)和值(values)
    6. for (let n of wishList.entries()) {
    7. console.log(n);
    8. }
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post