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

一、语句

1.分支语句

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

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

(1)if语句

if (条件) {
    条件为 true 时执行的代码块
} else { 
    条件为 false 时执行的代码块
}

如果if里面的条件表达式结果为真true,则执行大括号里面的执行语句。如果if条件表达式结果为假,则不执行大括号里面的语句,则执行if语句后面的代码

(2)else if 语句

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

(3)switch 语句

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

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

  1. Break ……case语句通常处理case为比较确定值的情况,
    而if else语句。更加灵活,常用于范围判断。
  2. Switch语句去进行条件判断后直接执行的程序的条件语句效率更高
    if else语句有几种条件,就得判断多少次。
  3. 分支比较少时,if else语句的执行效率比switch语句高
  4. 当分支比较多时,switch语句的执行效率比较高,而且结构更清晰。

2.循环语句

(1)for循环

语法如下:

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

(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];
}

(3)Array.forEach()

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

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

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

function myFunction(value, index, array) {
  txt += value;
}

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

语法
for (variable of iterable) {
  // code block to be executed
}

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

(5)While 循环

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

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

(6)do while 循环

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

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

do {
    text += "The number is " + i;
    i++;
 }
while (i < 10);

3.break语句

break 语句也可用于跳出循环

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

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

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

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

二、正则表达式

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

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

1. 使用字符串方法

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

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

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

使用字符串方法 search() 来处理字符串 search() 方法也接受字符串作为搜索参数。字符串参数将被转换为正则表达式:

var str = "Visit W3School!";
var n = str.search("W3School"); 

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

var str = "Visit W3School";
var n = str.search(/w3school/i); 

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

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

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

使用大小写不明的正则表达式以 W3school 来替换字符串中的 Microsoft:

var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "W3School"); 

res 的结果将是:
Visit W3School!

三、this关键词

  1. this定义

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

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

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

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

fullName : function() {
  return this.firstName + " " + this.lastName;
}
  1. 单独的情况下,this 指的是全局对象
    在浏览器窗口中,全局对象是 [object Window]:

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

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

function myFunction() {
  return this;
}
  1. 在函数中,严格模式下,this 是 undefined

  2. 在事件中,this 指的是接收事件的元素。
    事件处理程序中的 this:

实例
<button onclick="this.style.display='none'">
  点击来删除我!
</button>
  1. call() 和 apply() 这样的方法可以将 this 引用到任何对象。
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖^O^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值