GVKun编程网logo

JavaScript中字符串匹配的switch语句(js switch 字符串)

26

此处将为大家介绍关于JavaScript中字符串匹配的switch语句的详细内容,并且为您解答有关jsswitch字符串的相关问题,此外,我们还将为您介绍关于15JavaScriptswitch语句、

此处将为大家介绍关于JavaScript中字符串匹配的switch语句的详细内容,并且为您解答有关js switch 字符串的相关问题,此外,我们还将为您介绍关于15JavaScript switch语句、47JavaScript-1 变量 with语句 数组 字符串 定时器、java – Switch语句,默认为先前定义的switch case?、JavaScript switch 语句的有用信息。

本文目录一览:

JavaScript中字符串匹配的switch语句(js switch 字符串)

JavaScript中字符串匹配的switch语句(js switch 字符串)

如何为以下条件编写开关?

如果 url 包含 “foo”,settings.base_url则为“bar”。

以下是实现所需的效果,但我觉得这在开关中会更易于管理:

var doc_location = document.location.href;var url_strip = new RegExp("http:\/\/.*\/");var base_url = url_strip.exec(doc_location)var base_url_string = base_url[0];//BASE URL CASES// LOCALif (base_url_string.indexOf(''xxx.local'') > -1) {    settings = {        "base_url" : "http://xxx.local/"    };}// DEVif (base_url_string.indexOf(''xxx.dev.yyy.com'') > -1) {    settings = {        "base_url" : "http://xxx.dev.yyy.com/xxx/"    };}

答案1

小编典典

如果您很高兴顶部的正则表达式删除了您不想在匹配中比较的所有内容,那么您不需要子字符串匹配,并且可以这样做:

switch (base_url_string) {    case "xxx.local":        // Blah        break;    case "xxx.dev.yyy.com":        // Blah        break;}

…但同样,只有当这是您匹配的完整字符串时才有效。如果base_url_string是,比如说,“yyy.xxx.local”,那么它会失败,而您当前的代码将与“xxx.local”分支中的代码匹配。


更新:好的,所以从技术上讲,您可以使用 aswitch进行子字符串匹配,但在大多数情况下我不推荐它。以下是方法(现场示例):

function test(str) {    switch (true) {      case /xyz/.test(str):        display("• Matched ''xyz'' test");        break;      case /test/.test(str):        display("• Matched ''test'' test");        break;      case /ing/.test(str):        display("• Matched ''ing'' test");        break;      default:        display("• Didn''t match any test");        break;    }}

这是因为 JavaScriptswitch语句的工作方式,特别是两个关键方面:首先,按照源文本顺序考虑案例,其次,选择器表达式(关键字后面的位case)是按案例评估的表达式评估(不是像其他一些语言中的常量)。因此,由于我们的测试表达式是true,因此产生的第一个case表达式true将是被使用的表达式。

15JavaScript switch语句

15JavaScript switch语句

1.JavaScript switch 语句

使用 switch 语句来选择要执行的多个代码块之一。

语法:

1代码块 1 2代码块 2 1 和 2代码 }

工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。使用 break 来阻止代码自动地向下一个 case 运行。

名称。请注意 Sunday=0,Monday=1,Tuesday=2,等等)

Meta Yubaba 点击下面的按钮来显示今天是周几: 点击这里

运行结果:

2.default 关键词

请使用 default 关键词来规定匹配不存在时做的事情:

Meta Yubaba 点击下面的按钮,会显示出基于今日日期的消息: 点击这里 代码

运行结果:

47JavaScript-1 变量 with语句 数组 字符串 定时器

47JavaScript-1 变量 with语句 数组 字符串 定时器

1 变量

变量作用域:(方式、位置)
•全局变量:在函数外声明
•局部变量:在函数内声明
•全局变量可在整个脚本中被使用,可在不同的窗口中相互引用(指定窗口名)

•<Script> 
var globe = "JavaScript"; // globe是全局变量 test();
•function test() { var local = "VBScript"; // local是局部变量 
document.write("<LI>" + globe ); document.write("<LI>" + local ); }
•document.write("<LI>" + globe ); document.write("<LI>" + local ); 
</Script>

2 With语句

使用with语句后,在with代码块中不再需要使用with对象进行方法调用,可直接写出方法名称进行方法的使用

with (document) 
{ write (“欢迎你们:”);
 write (“<Li>很高兴认识大家”);
 write (“<Li>希望我们成为朋友。"); 
}
3 for..in ,构造方法

for...in语句:重复执行指定对象的所有属性
•格式: for ( 变量 in 对象 ){ <语句组> }


function member(name, sex) {//构造函数member
• this.name = name;
• this.sex = sex;
•}
•function showProperty(obj, objString)
•{
•var str = "";
•for (var i in obj)
• str += objString + "." + i + " = " + obj[i] + "<BR>";
• return str;
•}
•obj = new member("刘德华", "男生");//建立对象实例obj
•document.write(showProperty(obj, "person"))

4 数组

(1)数组的定义


// 1
		var fruit = new Array();
		fruit[0] = "apple";
		fruit[1] = "banana";
		fruit[2] = "pear";
		
		//2 
		var fruit2=["apple","banana","pears"];//推荐使用
		fruit2.push("apple2");

(2)数组对象的方法

join([分隔符])数组元素组合为字符串

toString()以字符串表示数组

reverse()数组反转

valueOf()返回数组值

with(document)
		{
			write("<ul>");
			write("<li>"+fruit2.join()+"<br> </li>");//默认的join方法
			write("<li>"+fruit2.join(":")+"<br> </li>");
			write("<li>"+fruit2.reverse().join()+"<br> </li>");
			write("<li>"+fruit2.valueOf()+"<br> </li>");
			write("</ul>");
		}

(3) 二维数组

//二维数组
		document.write("<ul>");
		
		var fruit3=new Array(4);
		fruit3[0]=new Array("i",1);
		fruit3[1]=new Array("love",2);
		fruit3[2]=new Array("you ",3);
		fruit3[3]=new Array("father",4);
	
		for (var i=0;i<fruit3.length;i++)
		{
			for(var j=0;j<fruit3[i].length;j++)
			{
				document.write(fruit3[i][j]+" ");
						
			}
			document.write("<br>");
		}
		
		document.write("<ul>");

5 字符串

javascript字符串与java类似


<script type="text/javascript">
		var string = "javascript";
		var num = "1234";

		with (document) {
			write(string.toUpperCase() + "<br>");
			write(num.charAt(2) + "<br>");
			write(string.substring(0, 4) + "<br>");
		}

		function isEmail() {
			var emailValue = document.getElementsByName("email")[0].value;
		
		if(emailValue.indexOf("@")>0)
		 {
				alert("ok");
			} else {
				alert("invalidate email");
			}
		}
	</script>

6 定义对象

<script type="text/javascript">
   
   function person(name,gender)
   {
   	this.name=name;
   	this.gender=gender;
   	this.display=display
   }
   function display()
   {
   		document.write("name"+this.name+"gender "+this.gender);
   }
   
   var p1=new person("zhangsan","male");
   var p2=new person("lisi","famale");
   p1.display();
   p2.display();
</script>

7 定时器

(1) setTimeout():
•格式: [定时器对象名=] setTimeout(“<表达式>”,毫秒) 功能:

执行<表达式>一次。

(2) setInterval():
•格式: [定时器对象名=] setInterval(“<表达式>”,毫秒)

功能:重复执行<表达式>,直至窗口、框架被关闭或执行clearInterval。
•clearInterval():终止定时器
•格式: clearInterval(定时器对象名)

var timer=setInterval("display()", 1000);
  
  function display()
  {
  
    document.getElementById("time").innerHTML=new Date().toLocaleTimeString();
  
  
  
  }
  
  function stopCount()
	{
		clearInterval(timer);
	}

<body>
  <font color="red" id="time"></font>
   <input type="button" value="停止" onclick="stopCount();">
  </body>















java – Switch语句,默认为先前定义的switch case?

java – Switch语句,默认为先前定义的switch case?

我想做这样的事情:

int i = 0;

switch(difficulty) {
    case 1: i++; break;
    case 2: i--; break;
    default: case 1;
}

这样的事情可能吗?我想防止重复的代码.我知道在这个特定的例子中没有理由这样做,因为重复的代码会很小.我能想出的唯一一件事是[使用开关盒的能力下降]:

switch(difficulty) {
    case 2: i--; break;
    default:
    case 1: i++; break;
}

我宁愿不这样做,因为增加案例数量并在底部有默认值会更有意义.

但是我想知道,如果我这样做,它会搞砸引擎盖下的goto语句吗?特别是,不需要更长的时间来决定使用哪个goto语句,因为数字或乱序?订单在switch语句中是否重要?想象一下,所有案例都有相同的被调用几率,如果你以随机顺序而不是线性顺序将它们放在一起会有意义吗?

[编辑:对于我关于效率的问题,我发现了这一点:交换语句的顺序是否重要,简短的答案是否定的:Does switch case order affect speed?
How does Java’s switch work under the hood?

解决方法

这可能是您需要/想要的,并且是有效的代码

int i = 0;      
    switch (difficulty) {
    default:
    case 1: i++; break;
    case 2: i--; break;
    }

JavaScript switch 语句

JavaScript switch 语句

JavaScript switch 语句

switch 语句用于基于不同的条件来执行不同的动作。

JavaScript switch 语句

请使用 switch 语句来选择要执行的多个代码块之一。

语法

switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: 与 case 1 和 case 2 不同时执行的代码 } 工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。

default 关键词

请使用 default 关键词来规定匹配不存在时做的事情

关于JavaScript中字符串匹配的switch语句js switch 字符串的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于15JavaScript switch语句、47JavaScript-1 变量 with语句 数组 字符串 定时器、java – Switch语句,默认为先前定义的switch case?、JavaScript switch 语句的相关知识,请在本站寻找。

本文标签:

上一篇尝试python多处理的Windows上的RuntimeError

下一篇在 Swift 中将 Float 转换为 Int(swift string转float)