JavaScript(三)——语句,正则表达式,this关键词

简介: 在 JavaScript 中,我们可使用如下条件语句:使用 if 来规定要执行的代码块,如果指定条件为 true使用 else 来规定要执行的代码块,如果相同的条件为 false使用 else if 来规定要测试的新条件,如果第一个条件为 false使用 switch 来规定多个被执行的备选代码块

@TOC

一、语句

1.分支语句

在 JavaScript 中,我们可使用如下条件语句:

  • 使用 if 来规定要执行的代码块,如果指定条件为 true
  • 使用 else 来规定要执行的代码块,如果相同的条件为 false

    • 使用 else if 来规定要测试的新条件,如果第一个条件为 false
    • 使用 switch 来规定多个被执行的备选代码块

    (1)if语句

if (条件) {
    条件为 true 时执行的代码块
} else { 
    条件为 false 时执行的代码块
}
AI 代码解读
如果if里面的条件表达式结果为真true,则执行大括号里面的执行语句。如果if条件表达式结果为假,则不执行大括号里面的语句,则执行if语句后面的代码

(2)else if 语句

if (条件 1) {
    条件 1true 时执行的代码块
} else if (条件 2) {
    条件 1false 而条件 2true 时执行的代码块
 } else {
    条件 1 和条件 2 同时为 false 时执行的代码块
}
AI 代码解读

(3)switch 语句

  • 在开发里面,表达式我们经常写成变量。
  • 我们的num的值和Case里面的值相匹配的时候是全等。必须是值和数据类型一致才可以num===1
  • break如果当前的case里面没有break,则不会退出switch,是继续执行下一个case。
switch(表达式) {
     case n:
        代码块
        break;
     case n:
        代码块
        break;
     default:
        默认代码块
} 
AI 代码解读

(4)break.... case. 与if ...else if的区别

  1. Break ……case语句通常处理case为比较确定值的情况,

而if else语句。更加灵活,常用于范围判断。

  1. Switch语句去进行条件判断后直接执行的程序的条件语句效率更高

if else语句有几种条件,就得判断多少次。

  1. 分支比较少时,if else语句的执行效率比switch语句高
  2. 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。

2.循环语句

(1)for循环

语法如下:

for (语句 1; 语句 2; 语句 3) {
     要执行的代码块
}
AI 代码解读
  • 语句 1 在循环(代码块)开始之前执行。
  • 语句 2 定义运行循环(代码块)的条件。
  • 语句 3 会在循环(代码块)每次被执行后执行。
实例
for (i = 0; i < 5; i++) {
     text += "数字是 " + i + "<br>";
AI 代码解读

(2)For/In 循环

JavaScript for/in 语句遍历对象的属性:

  • for in 循环遍历 person 对象
  • 每次迭代返回一个键 (x)
  • 键用于访问键的值
  • 键的值为 person[x]
实例
var person = {fname:"Bill", lname:"Gates", age:62}; 

var text = "";
var x;
for (x in person) {
    text += person[x];
}
AI 代码解读

(3)Array.forEach()

forEach() 方法为每个数组元素调用一次函数(回调函数)。

const numbers = [45, 4, 9, 16, 25];

let txt = "";
numbers.forEach(myFunction);

function myFunction(value, index, array) {
  txt += value;
}
AI 代码解读

(4)For Of 循环
它允许您循环遍历可迭代的数据结构,例如数组、字符串、映射、节点列表

语法
for (variable of iterable) {
  // code block to be executed
}
AI 代码解读

variable -——对于每次迭代,下一个属性的值都会分配给变量。变量可以用 const、let 或 var 声明。
iterable —— 具有可迭代属性的对象。

(5)While 循环

while 循环会一直循环代码块,只要指定的条件为 true。

语法
while (条件) {
    要执行的代码块
}
AI 代码解读
while (i < 10) {
    text += "数字是 " + i;
    i++;
}
AI 代码解读

(6)do while 循环

do/while 循环是 while 循环的变体。在检查条件是否为真之前,这种循环会执行一次代码块,然后只要条件为真就会重复循环。

下面的例子该循环会执行至少一次,即使条件为 false,因为代码块会在条件测试之前执行:

do {
    text += "The number is " + i;
    i++;
 }
while (i < 10);
AI 代码解读

3.break语句

break 语句也可用于跳出循环

break 语句会中断循环,并继续执行循环之后的代码(如果有):

for (i = 0; i < 10; i++) {
    if (i === 3) { break; }
    text += "数字是 " + i + "<br>";
}
AI 代码解读

4.Continue 语句
continue 语句中断(循环中)的一个迭代,如果发生指定的条件。然后继续循环中的下一个迭代。

本例跳过值 3for (i = 0; i < 10; i++) {
    if (i === 3) { continue; }
    text += "数字是 " + i + "<br>";
} 
AI 代码解读

二、正则表达式

正则表达式是构成搜索模式的字符序列。

该搜索模式可用于文本搜索和文本替换操作

1. 使用字符串方法

在 JavaScript 中,正则表达式常用于两个字符串方法:search() 和 replace()。

  • search() 方法使用表达式来搜索匹配,然后返回匹配的位置。
  • replace() 方法返回模式被替换处修改后的字符串。

2.使用字符串方法 search() 来处理字符串

使用字符串方法 search() 来处理字符串 search() 方法也接受字符串作为搜索参数。字符串参数将被转换为正则表达式:
var str = "Visit W3School!";
var n = str.search("W3School"); 
AI 代码解读

3. 在字符串方法 search() 中使用正则表达式

var str = "Visit W3School";
var n = str.search(/w3school/i); 
AI 代码解读

4. 使用字符串方法 replace() 处理字符串

replace() 也接受字符串作为搜索参数:

5. 在字符串方法 replace() 中使用正则表达式

使用大小写不明的正则表达式以 W3school 来替换字符串中的 Microsoftvar str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "W3School"); 
AI 代码解读
res 的结果将是:
Visit W3School!
AI 代码解读

三、this关键词

  1. this定义

    this 关键词指的是它所属的对象。

它拥有不同的值,具体取决于它的使用位置:

  1. 在方法中,this 指的是所有者对象。

    在对象方法中,this 指的是此方法的“拥有者”。

fullName : function() {
  return this.firstName + " " + this.lastName;
}
AI 代码解读
  1. 单独的情况下,this 指的是全局对象

在浏览器窗口中,全局对象是 [object Window]:

  1. 在函数中,this 指的是全局对象。

在 JavaScript 函数中,函数的拥有者默认绑定 this。
在函数中,this 指的是全局对象 [object Window]。

function myFunction() {
  return this;
}
AI 代码解读
  1. 在函数中,严格模式下,this 是 undefined
  2. 在事件中,this 指的是接收事件的元素。

事件处理程序中的 this:

实例
<button onclick="this.style.display='none'">
  点击来删除我!
</button>
AI 代码解读
  1. call() 和 apply() 这样的方法可以将 this 引用到任何对象。
相关文章
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
163 1
js中通过正则表达式验证邮箱是否合法
这篇文章提供了一个JavaScript示例,通过正则表达式在网页上验证用户输入的邮箱地址是否合法,并给出了相应的提示信息。
js中通过正则表达式验证邮箱是否合法
JavaScript进阶-正则表达式基础
【6月更文挑战第21天】正则表达式是处理字符串的利器,JavaScript中广泛用于搜索、替换和验证。本文讲解正则基础,如字符匹配、量词和边界匹配,同时也讨论了常见问题和易错点,如大小写忽略、贪婪匹配,提供代码示例和调试建议。通过学习,开发者能更好地理解和运用正则表达式解决文本操作问题。
66 1
在JavaScript中,this关键字的行为可能会因函数的调用方式而异
【6月更文挑战第15天】JavaScript的`this`根据调用方式变化:非严格模式下直接调用时指向全局对象(浏览器为window),严格模式下为undefined。作为对象方法时,`this`指对象本身。用`new`调用构造函数时,`this`指新实例。`call`,`apply`,`bind`可显式设定`this`值。箭头函数和绑定方法有助于管理复杂场景中的`this`行为。
71 3
js 常用正则表达式【实用】
js 常用正则表达式【实用】
42 0
|
8月前
|
js 【详解】函数中的 this 指向
js 【详解】函数中的 this 指向
65 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等