今天学习了js的比较、if/else、switch/case和各种循环,这些东西每种语言都大同小异,没什么好看的,重点说一下js的循环。

JavaScript 支持不同类型的循环:

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码

1、For 循环

for (初始条件; 执行条件; 执行后变量变化)
{
被执行的代码块
}

初始条件可以一次给多个变量赋值,也可以省略。

2、For/In 循环

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

<script>
function myFunction()
{
var x;
var text="";
var person={
CEO:"Bill Gates",
CCO:"Pony Ma",
CHI:"Boqian Liu"
}; for( x in person){
text+=person[x];
text+="</br>";
}
document.getElementById("demo").innerHTML=text;
}

3、while 循环

while (条件)
{
需要执行的代码
}

4、do/while 循环

do
{
需要执行的代码
}
while (条件);

5、break和continue

break 语句用于跳出循环,continue 用于跳过循环中的一个迭代。
这个没啥好说的,C语言里面很常见的东西。

6、JavaScript标签

js的标签可以配合bresk来使用,达到类似循环的效果。

(感觉有种多此一举的感觉,以后可能会应用到)

list:{
document.write("I'm the 1st</br>");
document.write("I'm the 2nd</br>");
break list;
document.write("I'm the 3rd</br>");
document.write("I'm the 4th</br>");
}

只有前两行语句会被执行。

7、try/catch/throw

这种的try/catch和错误信息定义,emmm,和定义个全局变量来存储错误信息好像没啥区别。

不像java是在函数名字后面抛出异常,还要特意定义异常类,模块化倒是满足了,就是会比较繁琐,js这一点倒是很简洁。

<script>
function myFunction() {
try {
var x = document.getElementById("demo").value;
if (x == "") throw "小傻瓜,你的输入为空";
if (isNaN(x)) throw "小傻瓜,你输入的不是数字"
if (x > 100) throw "小傻瓜,你的数字比100还要大"
if (x < 0) throw "小傻瓜,你的数字不是正数呀"
} catch (error) {
alert(error)
}
}
</script>

js学习笔记2:循环和try/catch/throw的更多相关文章

  1. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  2. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

  3. WebGL three.js学习笔记 加载外部模型以及Tween.js动画

    WebGL three.js学习笔记 加载外部模型以及Tween.js动画 本文的程序实现了加载外部stl格式的模型,以及学习了如何把加载的模型变为一个粒子系统,并使用Tween.js对该粒子系统进行 ...

  4. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  5. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  6. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  7. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  8. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  9. 2019-4-29 js学习笔记

    js学习笔记一:js数据类型   1:基本数据类型       number类型(整数,小数)      String类型          boolean类型        NaN类型其实是一个nu ...

  10. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

随机推荐

  1. js版本的汉字转拼音

    var PinYin = {"a":"\u554a\u963f\u9515","ai":"\u57c3\u6328\u54ce\u ...

  2. 快速学习Symfony4,Symfony4教程

    快速学习Symfony4,Symfony4教程https://symfony.com/doc/current/index.html 关注公众号回复Symfony4教程,Symfony4教程视频,或访问 ...

  3. (转)nginx-rtmp-module和ffmpeg搭建实时HLS切片

    1.rtmp服务器 nginx+pcre+zlib+openssl+nginx-rtmp-module ./configure \ --prefix=/usr/local/nginx \ --sbin ...

  4. python_learn1

    1.python在命令行获取当前的路径. import os os.getcwd() os.chdir(r"C:\Users\szlon\Desktop\pythonexer") ...

  5. 关于jquery-weui.js中时间控件datetimepicker的使用

    今天第一次接触jquery-weui,不太了解用法,然而官方文档写的也很简略,只好打开源代码进行研究,我想要的是设置开始日期大于当前日期,然后在源码中发现有min这个默认为undefined的属性,于 ...

  6. Android系统文件目录

  7. HTML5/CSS3动画下拉菜单

    在线演示 本地下载

  8. git删除远程分支【转】

    本文转载自:https://my.oschina.net/tsingxu/blog/84601 如果不再需要某个远程分支了,比如搞定了某个特性并把它合并进了远程的 master 分支(或任何其他存放  ...

  9. 【css学习整理】css基础(样式,语法,选择器)

    CSS是什么? cascading 层叠样式表 sheet 样式文件 style 外观个性化 CSS语法? 声明方法: 选择器(属性: 值; 属性: 值) 选择器: 通过名称制定对哪些标签进行样式设置 ...

  10. zabbix监控系统性能采集指标

                  监控项目                        详细内容                                                       ...