首页 > 其他分享 >js switch语句

js switch语句

时间:2024-01-10 22:31:45浏览次数:20  
标签:语句 console log js switch let location

with 语句的用途是将代码作用域设置为特定的对象,其语法是:

with (expression) statement;

使用 with 语句的主要场景是针对一个对象反复操作,这时候将代码作用域设置为该对象能提供便 利,如下面的例子所示:

let qs = location.search.substring(1);
    let hostName = location.hostname;
    let url = location.href;

上面代码中的每一行都用到了 location 对象。如果使用 with 语句,就可以少写一些代码:

with(location) {
      let qs = search.substring(1);
      let hostName = hostname;
      let url = href;
}

这里,with 语句用于连接 location 对象。这意味着在这个语句内部,每个变量首先会被认为是 一个局部变量。如果没有找到该局部变量,则会搜索 location 对象,看它是否有一个同名的属性。如 果有,则该变量会被求值为 location 对象的属性。

严格模式不允许使用 with 语句,否则会抛出错误。

1. switch语句:

switch 语句是与 if 语句紧密相关的一种流控制语句,从其他语言借鉴而来。ECMAScript 中 switch 语句跟 C 语言中 switch 语句的语法非常相似。

这里的每个 case(条件/分支)相当于:“如果表达式等于后面的值,则执行下面的语句。”break 4 关键字会导致代码执行跳出 switch 语句。如果没有 break,则代码会继续匹配下一个条件。

default关键字用于在任何条件都没有满足时指定默认执行的语句(相当于 else 语句)。

有了 switch 语句,开发者就用不着写类似这样的代码了:

if (i == 25) {
      console.log("25");
    } else if (i == 35) {
      console.log("35");
    } else if (i == 45) {
      console.log("45");
    } else {
      console.log("Other");
}

为避免不必要的条件判断,最好给每个条件后面都加上 break 语句。如果确实需要连续匹配几个 条件,那么推荐写个注释表明是故意忽略了 break。

标签:语句,console,log,js,switch,let,location
From: https://blog.51cto.com/u_16298168/9186741

相关文章

  • js for
    for-in语句是一种严格的迭代语句,用于枚举对象中的非符号键属性,语法如下:for(propertyinexpression)statement下面是一个例子:for(constpropNameinwindow){document.write(propName);}这个例子使用for-in循环显示了BOM对象window的所有属性。每次执行循环,都会给......
  • RxJS
     什么是RxJSRxJS是一个用于响应式流的库,它基于Observables(可观察对象)和Operators(操作符)的概念。它提供了一种响应式编程的方式,使得异步数据流和事件更容易管理和组合。 什么是流流可以被视为一个持续的事件序列。它可以是由用户交互、网络请求、定时器等事件触发的数据序列。这?......
  • [protobuf] ProtoBufEditor 解析bin文件和json文件
    ProtoBufEditor解析bin文件和json文件ProtoBufEditor是一个用于编辑ProtocolBuffers(ProtoBuf)文件的工具。支持导入的文件类型SingleMessageDelimitedMessagesSelfDescribingMessageSelfDescribingDelimitedText(SingleMessage)Json(SingleMessage)解析bin......
  • delphi JSON序列化(五)
    关于TJSONConverters的使用unitUnit1;interfaceusesWinapi.Windows,Winapi.Messages,System.SysUtils,System.Variants,System.Classes,Vcl.Graphics,Vcl.Controls,Vcl.Forms,Vcl.Dialogs,Vcl.StdCtrls,Vcl.Buttons,Rest.JSON.Types,Rest.JsonReflect;t......
  • delphi JSON序列化(四)
    涉及的重要类REST.Json,REST.JsonReflect,REST.Json.Interceptors,REST.Json.Types单元中。一、TJson类最简单的一个类,提供了JSON->OBJECT和OBJECT->JSON几个方法,方法有TJsonOptions参数,如:   classfunctionObjectToJsonObject(AObject:TObject;AOptions:TJsonOpti......
  • js判断坐标点是否在一个多边形坐标数组范围内
    主要用到了射线法(RayCastingAlgorithm)来判断一个点是否在多边形的范围内。下面是一个简单的JavaScript函数来实现这个功能:functionpointInPolygon(point,polygon){varx=point[0];vary=point[1];varinside=false;for(vari=0,j=polygon.length-1;......
  • 循环语句
    快速形成for循环......
  • JOSN字符串字段遍历(json-path)
    官网https://github.com/json-path/JsonPath依赖<dependency><groupId>com.jayway.jsonpath</groupId><artifactId>json-path</artifactId><version>2.5.0</version></dependency>......
  • Node.js 多线程编程:优化性能的关键步骤
    在 Node.js多线程允许Node.js应用并行处理任务,以此来提高性能和响应速度。Node.js内置了如 worker_threads 这样的模块来支持多线程。通过分配任务给不同的线程,能够更好地利用多核处理器,缓解单线程应用可能出现的瓶颈。Node.js中多线程的适用场景在 Node.js 中,以下几种情......
  • js判断2个时间段是否有重叠(时分)
    原理:1天1440分钟,每个时间段都有对应的数值,生成2个数组,判断数组中是否有重叠数字isTimeOverlap(startA,endA,startB,endB){if(!startA||!endA||!startB||!endB)returnfalseletsA=this.dealTime(startA);letsB=this.dealTime(startB)......