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