JavaSrcipt第三天学习语句的学习

JavaSrcipt第三天学习语句的学习

1.switch语句

在 JavaScript 中,swich语句虽然类似于if else if else类似,但胜在于语义化更清晰更容易理解。

  switch (judge) {
            case 取值1:
                语块1;
                break;
            case 取值2:
                语块2;
                break;
            case 取值3:
                语块3;
                break;
            case 取值4:
                语块4;
                break;
            case 取值5:
                语块5;
                break;
            default :
                语块;
        }

语法模式就类似于上面的代码。与判断值的取值相同就会执行对应的后面的语句,这个语句具有穿透性,如果你不加break的话,那么语句就会向下运行直至结束。如果变量不等于任何取值的话就会执行default.

2.while和do-while循环

在 JavaScript 中,这个从字面可以理解,while循环就是当什么怎么样就会执行内容反之不执行,而do-while循环就是直到怎么样才会跳出循环。do-while循环不管满不满足条件都会执行一次。while循环是所以循环里速度最快的循环。

  // 基本格式
         while (条件) {
             //当条件为true时,循环执行
         }
         
        //过一次海关收取5%的钱  如果超过10000块  就收1000块  最少收100块
        // 我有4354656,可以过几次关?
         var money = 4354655;
         var count = 0;
         while (money >= 100 / 0.05) {
             if (money > 10000) {
                money -= 1000
             } else {
                 money = money * 0.95
             }
             count++
         }
         //do-while的基本格式与案例
         console.log(count)       //输出4367
         var n =802 ;
         do {
            n++
         }
         while (n <= 800)
         console.log(n)           //输出803

while和do-while循环是比较具有语义化的循环语句,所以把它带入生活中想想可能就可以更好的理解。其实编程也就类似于说话一样,不过是对机器说话而已,而编程最终都会归结于数学问题。

3.break和continue

在 JavaScript 中,break 和 continue 是两个控制流程的关键字。
break 关键字用于终止循环或者 switch 语句的执行。当 break 执行时,循环会立即结束,程序会跳出当前循环或者 switch 语句,并继续执行后续的代码。

for (var i = 0; i < 5; i++) {
  if (i === 3) {
    break; // 当 i 等于 3 时,结束循环
  }
  console.log(i);
}
// 输出:0 1 2

continue 关键字用于跳过当前循环中剩余的代码,并继续下一次循环的执行。当 continue 执行时,循环会立即进入下一次迭代,跳过当前迭代的剩余代码。

for (var i = 0; i < 5; i++) {
  if (i === 2) {
    continue; // 当 i 等于 2 时,跳过当前迭代
  }
  console.log(i);
}
// 输出:0 1 3 4

4.label标签语言

在 JavaScript 中,label 是一个标识符,用于标记代码块。label 语法由标识符和冒号组成,放置在代码块的前面。
label 主要用于嵌套循环或者多层条件语句中,用于在特定条件下控制流程。通过使用 label,可以在内层的循环或者条件语句中使用 break 或 continue 来跳出或者继续外层的循环。

outerLoop: for (var i = 0; i < 3; i++) {
  innerLoop: for (var j = 0; j < 3; j++) {
    if (i === 1 && j === 1) {
      break outerLoop; // 当 i 等于 1 和 j 等于 1 时,跳出外层循环
    }
    console.log(`i: ${i}, j: ${j}`);
  }
}
// 输出:i: 0, j: 0
// 输出:i: 0, j: 1
// 输出:i: 0, j: 2
// 输出:i: 1, j: 0

在上述示例中,我们使用 outerLoop 标签标记了外层的 for 循环。当内层的循环中的条件满足时,执行 break outerLoop;,跳出外层循环。因此,当 i 等于 1 和 j 等于 1 时,循环结束。
请注意,在实际开发中,使用 label 语法需要谨慎。它可能会使代码变得难以理解和维护。通常情况下,应该优先考虑使用其他控制流程的方式来实现需要的逻辑。

5.Javascript的错误机制

在JavaScript中报错,可以主动的报错,也有被动的报错就是语法错误之类。
1.throw 语句:throw 语句用于显式地抛出一个异常。它的语法如下:

throw expression;

expression 表达式可以是任何值,通常是一个 Error 对象或者继承自 Error 的自定义异常对象。通过抛出异常,我们可以中断当前的代码执行,并将控制权交给上层调用者的 try-catch 语句。
2.try-catch 语句:try-catch 语句用于捕获和处理可能发生的错误。它的语法如下:

try {
  throw new Error('Something went wrong');
} catch (error) {
  console.log(error); // 输出:Something went wrong
}

6.with语法

在 JavaScript 中,with 语法用于创建一个临时的作用域,使得在该作用域内可以直接访问指定对象的属性和方法,而无需使用对象名进行限定。
例如:

var person = {
  name: 'wyc',
  age: 21
};
with (person) {
  console.log(name); // 直接访问 name 属性,输出:wyc
  console.log(age);  // 直接访问 age 属性,输出:21
}

使用 with 语法可以简化对对象属性的访问,但同时也存在一些潜在的问题和风险。因为 with 语法会创建一个新的作用域,可能会导致变量名的冲突和混淆,而且会影响代码的可读性和维护性。因此,官方不推荐在现代 JavaScript 中使用 with 语法,而是建议使用对象名来限定属性的访问。

7.对象的基本语法

在 JavaScript 中,对象是一种复合数据类型,用于存储键值对。对象可以通过对象字面量、构造函数或者对象创建方法来创建。在对象字面量中,使用花括号 {} 来定义对象,并在其中使用键值对的形式来描述对象的属性和对应的值。每个键值对之间使用逗号 , 分隔。

var person = {
  name: 'wyc',
  age: 21,
  gender: 'male'
};

这里的对象的成员赋值规则与前面的取值和存值规则一样

对象的成员操作符
不常用但是功能不可替代的 某些业务的技术瓶颈的解决方案
JavaScript 中有两种对象成员操作符用于访问对象的属性和方法。
1.点操作符(.): 点操作符用于访问对象的属性和调用对象的方法。语法为 对象.属性 或 对象.方法()。
例如:

var person = {
  name: 'wyc',
  age: 25,
  gender:'male',
  };
console.log(person.name);        // 输出 'wyc'

2.方括号操作符([]): 方括号操作符用于访问对象的属性和调用对象的方法。语法为 对象[属性] 或 对象方法
例如:

var person = {
  name: 'wyc',
  age: 25,
  gender:'male',
  };
console.log(person[name]);        // 输出 'wyc'

需要注意的是,访问不确定的变量时,只能使用方括号操作符来访问。

8.数组的基本语法

JavaScript 中的数组是一种用于存储多个值的有序集合。数组可以包含各种类型的值,包括数字、字符串、布尔值、对象、函数等。

创建数组:
可以使用数组字面量([])来创建一个空数组,也可以在数组字面量中包含元素来创建一个带有初始值的数组。
例如:

var emptyArray = [];                     // 创建一个空数组
var numbers = [1, 2, 3, 4, 5];           // 创建一个包含数字的数组
var names = ['John', 'Jane', 'Mary'];    // 创建一个包含字符串的数组
var mixed = [1, 'hello', true, null];     // 创建一个包含不同类型的值的数组

访问数组元素:
可以使用方括号操作符([])和索引来访问数组的元素。数组的索引从0开始,最后一个元素的索引为数组长度减1。
例如:

var numbers = [1, 2, 3, 4, 5];
console.log(numbers[0]);        // 输出 1
console.log(numbers[2]);        // 输出 3
console.log(numbers.length);    // 输出 5

修改数组元素:
可以通过索引来修改数组的元素。
如:

var numbers = [1, 2, 3, 4, 5];
numbers[0] = 10;
console.log(numbers);            // 输出 [10, 2, 3, 4, 5]

9.函数(function)基础知识

JavaScript 中的函数是一种可重复使用的代码块,它可以接收参数、执行特定的任务,并返回一个值。函数可以在需要的时候被调用,提高代码的重用性和可维护性。
可以使用函数声明或函数表达式来创建函数。
函数声明:

function fn(p1) {
  // 函数体
  // 执行任务
  return value;    // 返回值(可选)
}

调用函数:
可以使用函数名和参数列表来调用函数。
例如:

function fn(name, age) 
  console.log(name + 'is' + age );
}

fn('wyc', 21);              // 输出 wyc is 21

函数返回值:
函数可以选择性地返回一个值,使用 return 关键字将一个值返回给函数调用者。
如:

function add(a, b) {
  return a + b;
}

var re = add(2, 3);
console.log(re);            // 输出 5

练习:检查一个数是不是素数,如果是则输出true,反之输出false

 function fn(number) {
            // 1 和小于 1 的数都不是素数
            if (number < 2) {
                return false;
            }

            // 2 是素数
            if (number === 2) {
                return true;
            }

            // 如果能被 2 整除,不是素数
            if (number % 2 === 0) {
                return false;
            }

            // 判断是否能被其他奇数整除
            for (let i = 3; i < number; i += 2) {
                if (number % i === 0) {
                    return false;
                }
            }

            // 是素数
            return true;
        }
        console.log(fn(2)); // true
        console.log(fn(3)); // true
        console.log(fn(17)); // true
        console.log(fn(27)); // false
        console.log(fn(0)); // false
        console.log(fn(1)); // false
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值