js的label标签语句与with语句的用法
/**
* label标签语句
* - 语法:
* 标签名: 语句
* 如:start: n = 1;
* 上面标签start可以被之后的break或continue语句引用
* - label标签语句一般都要与for语句等循环语句配合使用
* 返回代码中的特定位置
*/
// 声明标签labelBreak1
labelBreak1:
for (var i = 1; i <= 2; i++) {
console.log(`i = ${i} 时:`);
for (var j = 1; j <= 2; j++) {
console.log(`i = ${i}, j = ${j}`);
// 立刻会跳出labelBreak1标签标记的第一层循环
// 结束整个循环
break labelBreak1;
}
}
// 输出:
// i = 1 时:
// i = 1, j = 1
for (var i = 1; i <= 2; i++) {
console.log(`i = ${i} 时:`);
// 声明标签labelBreak2
labelBreak2:
for (var j = 1; j <= 2; j++) {
console.log(`i = ${i}, j = ${j}`);
for (var k = 1; k <= 2; k++) {
console.log(`i = ${i}, j = ${j}, k = ${k}`);
// 立刻会跳出labelBreak2标记的第二层循环,
// 继续正常执行第一层循环
break labelBreak2;
}
}
}
// 输出
// i = 1 时:
// i = 1, j = 1
// i = 1, j = 1, k = 1
// i = 2 时:
// i = 2, j = 1
// i = 2, j = 1, k = 1
// 声明标签labelContinue
labelContinue:
for (var i = 1; i <= 2; i++) {
console.log(`i = ${i} 时:`);
for (var j = 1; j <= 2; j++) {
console.log(`i = ${i}, j = ${j}`);
// 立刻会跳到labelContinue标签标记的第一层循环,此时i会自动加1变成2
// 继续执行第一层循环
continue labelContinue;
}
}
// 输出:
// i = 1 时:
// i = 1, j = 1
// i = 2 时:
// i = 2, j = 1
/**
* with语句
* - 用于设置代码在特定对象中的作用域
* 语法:
* with (表达式) 语句
*/
var name = 'Leo';
// 用with(name)表示创建了一个名字为name的伪对象
// 在代码执行到 length 时,解释程序会检查 length
// 是否是该伪对象 name 的属性,在本例中显然是,因为
// 伪对象 name 是字符串类型的对象,拥有属性 length
// 最后返回该 name 的字符串长度为 3,其实际上与
// name.length 等效
with (name) {
console.log(`name 为 '${name}' 的名字长度为 ${length} 个字符`); // name 为 'Leo' 的名字长度为 3 个字符
}
js的label标签语句与with语句的用法的更多相关文章
- js 为label标签和div标签赋值
<label id="ttile"></label> document.getElementById('ttile').innerText="&q ...
- js的break语句,continue语句,return语句
js的break语句,continue语句,return语句. 用的时候很容易混淆,有过一次泪奔的经历. break语句 break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch ...
- 小tips:JS语法之标签(label)
JavaScript语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下. label: statement 标签可以是任意的标识符,但是不能是保留字,语句 ...
- label语句、break语句和continue语句
label语句 可以在代码中添加标签,以便使用.以下是label语句的语法: label:statement 示例: start: for (var i = 0; i < count; i++) ...
- 笔记二:JS的输出、语法、语句、字符串、条件语句、switch语句、for循环、while循环
1.JS的输出: 注意:JS没有任何打印或者输出的函数 JS输出数据的集中方法: 1.使用window.alert()弹出警告框: 2.使用document.write()方法将内容写到HTML文档 ...
- js简介、基本语法、类型转换、变量、运算符、分支语句、循环语句、函数、函数调用
javascript是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 三个常用对话框 alert("")警告对话框,弹出一个警告对话框 <script> al ...
- JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype
一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...
- Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子)
Js中执行变量中的命令语句,也就是所谓的宏替换(很实用的例子) 由其做动态编程时非常有用,必须符合js中的语法,用eval能够执行. var aaa="alert('这是变量中的语句')&q ...
- JS和Jquery操作label标签
获取label值: label标签在JS和Jquery中使用不能像其他标签一样用value获取它的值: 代码如下: var label=document.getElementById("s ...
随机推荐
- 获取服务进程server.exe的pid(0号崩溃)
#include "stdafx.h" #include <windows.h> #include <iostream> #include <COMD ...
- windows下数字以2进制打印
#include <cstdlib> _itoa(num, buf, 2); 打印buf既是二进制
- qt05 音乐播放器
这些步骤可实现音乐播放,但是列表不能显示 music = new QMediaPlayer(this); playlist = new QMediaPlaylist(this); playlist-& ...
- 锁、volatile、CAS的比较
一.锁 锁是一种悲观的机制.为多线程提供了互斥的访问机制.多个线程同时竞争锁时,没获得锁的线程将会被挂起(智能的JVM会根据之前获取锁操作中对锁的持有时间长短来判断是使线程挂起还是自旋) 锁的劣势:1 ...
- vue的响应接口
Vue 可以添加数据动态响应接口. 例如以下实例,我们通过使用 $watch 属性来实现数据的监听,$watch 必须添加在 Vue 实例之外才能实现正确的响应. 实例中通过点击按钮自动加 1.set ...
- Keyguard分析
从Android 6.0开始,位于frameworks/bases/packages/Keyguard的Keyguard开始被编译为一个jar包,被SystemUI静态导入,相当于SystemUI ...
- Jenkins必备插件
1.汉化插件 https://plugins.jenkins.io/localization-zh-cn 2.邮件发送 https://plugins.jenkins.io/email-ext 3.G ...
- grunt教程
https://blog.csdn.net/sinat_38992528/article/details/79400595
- php怎么启动exe文件
PHP作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任.但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功 ...
- ckeditor粘贴word图片且图片文件自动上传功能
自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了.一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器) ...