今天学习了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. Ajax的跨域问题

    •跨域问题概述 •出于安全考虑,浏览器不允许ajax跨域获取数据 •可以通过script的src加载js的方式传递数据 fn({"a":"1","b& ...

  2. kindeditor浏览器兼容性问题

    1.kindeditor在IE下出现异常“对象不支持“attachEvent”属性或方法” 通过开发人员工具会发现: 这时问题就很明了,也就是IE11版本不支持“attachEvent”; 解决方案: ...

  3. git学习------>"Agent admitted failure to sign using the key." 问题解决方法

    今天用git clone 命令clone服务器上的代码时候报了如下的错误: ouyangpeng@oyp-ubuntu:~/Android/git_canplay_code$ git clone gi ...

  4. 【ansible】ansible部署方式以及部署包

    最近研究ansible的使用,在使用pip安装的时候遇到很多奇怪的问题,为此采用了手动安装的方式,并编写了一键安装脚本. ansible要求机器必须安装python2.6以上版本,可以通过一下命令查看 ...

  5. fragment静态加载

    import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.util.Log; / ...

  6. 算法(Algorithms)第4版 练习 1.3.14

    方法实现: //1.3.14 package com.qiusongde; import java.util.Iterator; import java.util.NoSuchElementExcep ...

  7. 在js实现矩阵转置

    var arr=[[2,4,6,8],[8,9,0,-1],[9,6,2,1]]; //定义一个新的数组 var arr2=[]; for(var i=0;i<arr[0].length;i++ ...

  8. Spring MVC文件上传下载工具类

    import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import ...

  9. Dual Path Networks(DPN)——一种结合了ResNet和DenseNet优势的新型卷积网络结构。深度残差网络通过残差旁支通路再利用特征,但残差通道不善于探索新特征。密集连接网络通过密集连接通路探索新特征,但有高冗余度。

    如何评价Dual Path Networks(DPN)? 论文链接:https://arxiv.org/pdf/1707.01629v1.pdf在ImagNet-1k数据集上,浅DPN超过了最好的Re ...

  10. windows与Linux操作系统的差别

    用户需要记住:Linux和Windows在设计上就存在哲学性的区别.Windows操作系统 倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合:而Linux不同 于Windows,它的内核空间 ...