今天学习了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. 九度OJ 1060:完数VS盈数 (数字特性)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5590 解决:2093 题目描述: 一个数如果恰好等于它的各因子(该数本身除外)子和,如:6=3+2+1.则称其为"完数" ...

  2. angularJs自定义模块

    <script type="text/javascript"> var myApp = angular.module("myApp",[]); my ...

  3. linux撤销命令

    u撤销上一步操作 ctrl+r恢复上一步被撤销的操作

  4. LeetCode:访问所有节点的最短路径【847】

    LeetCode:访问所有节点的最短路径[847] 题目描述 给出 graph 为有 N 个节点(编号为 0, 1, 2, ..., N-1)的无向连通图. graph.length = N,且只有节 ...

  5. pip 安装模块报错解决

    系统版本 ubuntu  Kylin 16.04 LTS 报错1:安装pip3 安装 Django 总是提示time out,无法安装. 改用国内源: 豆瓣源: sudo pip3 install - ...

  6. c# wpf ComboBox 动态下拉框 及 动态默认值设定

    1.下拉框声明 <ComboBox x:Name="DirComboBox" Width="150" Height="18" Marg ...

  7. zabbix性能优化等

    摘自: http://blog.sina.com.cn/s/blog_4cbf97060101fcfw.html 非常好的一篇,值得有用

  8. php设计模式课程---9、桥接模式是什么

    php设计模式课程---9.桥接模式是什么 一.总结 一句话总结: 一个类没干完,另外一个类接着给它干完 实质是类的拼接,也就是用类的组合代替了类的继承,因为类的组合可以有很多种方式,所以桥接就是类的 ...

  9. Log4j 与 logback对比、及使用配置

    二.参考文档 1.Log4j 与 logback对比.及使用配置

  10. HihoCoder1651 : 小球染色([Offer收割]编程练习赛38)(DP的优化)

    描述 小Ho面前有N个小球排成了一排.每个小球可以被染成M种颜色之一. 为了增强视觉效果,小Ho希望不存在连续K个或者K个以上的小球颜色一样. 你能帮小Ho计算出一共有多少种不同的染色方法么? 例如N ...