1. 条件判断语句

若条件成立才会执行,条件不成立则语句不执行;

if语句

  语法一:

    if(条件表达式)

      {语句}          :true就执行,false不执行;

  语法二:

    if(条件表达式)

      {语句}

    else  {语句}

  语法三:

     if(条件表达式)

      {语句}

    else  if (条件表达式) {语句}

    else  if (条件表达式) {语句}

    else{语句}

2. 条件分支语句:switch语句

语法:

  switch(条件表达式1){

    case 表达式2

      语句......

      break;

    case 表达式:

      语句......

      break;

    default:

      语句......

      break;}

执行流程:在执行时会一次将case后的表达式2的值和switch后的条件表达式1的值进行全等比较,如果比较结果为true,则执行语句;若比较结果为false,则接着下去执行。若所有比较结果是false,则只执行default后的语句。

3. 循环语句

通过循环语句可以反复的执行一段代码多次

  while循环:

    语法:while(条件表示式){

          语句.....

          break;}

执行过程:先对条件表达式进行求值判断,如果值为true,则执行循环体,执行完毕以后,继续对表达式进行判断,如果值为true,则执行循环体,以此类推。若值为false,终止循环。

向这种将条件表达式写死为true的循环,叫做死循环,慎用

  var n=1;

  while(true){

    alert(n++);

    if ( n==10){

    break;}}

创建一个循环,需要三个步骤:

  1. 创建初始化一个变量:var a=0;
  2. 在循环中设置一个条件表达式:while(i<10)
  3. 定义一个更新表达式,每次更新初始化变量:i++

    var n=1;

    while(n<11){

      document.write(n++ +'<br/>');}

do...while循环:

  语法: do{  语句....  }

    While{ 条件表达式 }

      var n=1;

      do{document.write(n++ +'<br/>');}

      while(n<11);

执行流程:do...while语句在执行时,会先执行循环体,循环体执行完毕之后,在对while后的条件表达式进行判断。

4.for循环

在for循环中,提供了专门位置用来放置三个表达式:

  1. 初始化表达式
  2. 条件表达式
  3. 更新表达式

  语法:for ( 初始化表达式;条件表达式;更新表达式 ){ 语句  }

执行流程:执行初始化表达式,初始化变量;(只执行一次)

  执行条件表达式,判断是否执行循环;若为true,则执行语句,若为false,终止循环。

  执行更新表达式,更新表达式执行完毕继续重复2。

注意:for循环中的三个部分都可以省略,也可以写在外部

若在for循环中不写任何的表达式,只写两个;此时循环是一个死循环,慎用

5.嵌套循环

for(var i=0;i<5;i++){

    for(var j=0;j<5;j++){

    document.write('*');}

  document.write('<br/>');}

形成如下图案:

*           ***

**          **

***         *

图案一:for(var i=0;i<5;i++){

for(var j=0;j<i+1;j++){

document.write('*');}

document.write('<br/>');}

图案二:for(var i=0;i<5;i++){

for(var j=0;j<5-i;j++){

document.write('*');}

document.write('<br/>');}

9x9乘法表:

for(var i=0;i<10;i++){

for(var j=0;j<i+1;j++){

num=i*j;

document.write(i+'*'+j+'='+num+' '+' '+' ');

}document.write('<br/>');

}

6. break , continue

break关键字可以用于退出switch或循环语句,会立即终止离他最近的循环语句

for(var i=3;i<8;i++){

console.log(i);

break;         //不会执行下去

}

 注意:不能在if语句中使用break和continue

label:使用break语句时,可以在break后跟着一个label,这样break就会结束指定的循环,而不是最近。

outer:

for(var i=0;i<8;i++){

for(var j=0;j<8;j++)

{console.log('内部'+j);

break outer;}

console.log('外部'+i);}

Continue:关键字可以跳过当次循环

for(var i=0;i<7;i++){

if(i==2){continue;}

console.log(i);}

7. 测试程序性能

在程序执行前,开启计时器,console.time( ‘计时器的名字’)可以用来开启一个计时器。

停止计时器:console.timeEnd( ‘计时器的名字’)

8. 通过Math.sqrt( ):对一个数进行开方

求质数的最完美方法:

console.time('test');
for(var i=2;i<=10000;i++){
   var flag=true;
   for(var j=2;j<Math.sqrt(i);j++){
      if(i%j==0){
         flag=false;
         break;}
   }
   if(flag){
      console.log(i);}

}
console.timeEnd('test');

JavaScript基础-03的更多相关文章

  1. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...

  2. javaScript基础-03 javascript语句

    一. 声明语句 var和function都是声明语句.声明或定义变量或函数. var 声明一个或者多个变量.语法如下: var a ; var b = 1; var c, d; var e = 3; ...

  3. JavaScript基础03——函数的作用域及变量提升

    1.作用域 作用域,变量在函数内部作用的范围/区域.有函数的地方就有作用域.   2.局部作用域和全局作用域 function fn(){ var a = 1; } console.log(a); / ...

  4. JavaScript基础第03天笔记

    JavaScript基础第03天笔记 1 - 循环 1.1 for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式 ){ //循环体 } 名称 作用 初始化变量 通常被用于初始化一个计数 ...

  5. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  6. 第三篇:web之前端之JavaScript基础

    前端之JavaScript基础   前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript ...

  7. JavaScript 基础学习1-day14

    JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaS ...

  8. JavaScript基础视频教程总结(071-080章)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. JavaScript基础入门06

    目录 JavaScript 基础入门06 Math 对象 Math对象的静态属性 Math对象的静态方法 指定范围的随机数 返回随机字符 三角函数 Date对象 基础知识 日期对象具体API 构造函数 ...

随机推荐

  1. Cooperative Groups

    Cooperative Groups 目录 Cooperative Groups 简介 块内组 thread_block tiled_partition Thread Block Tiles Coal ...

  2. three.js 将图片马赛克化

    这篇郭先生来说说BufferGeometry,类型化数组和粒子系统的使用,并且让图片有马赛克效果(同理可以让不清晰的图片清晰化),如图所示.在线案例点击博客原文 1. 解析图片 解析图片和上一篇一样 ...

  3. JavaScript中的var,const,let区别与用法(浅谈)

    let 和 const是(ES6) 新增加了两个重要的 JavaScript 关键字. 1.var全局变量 //全局变量在 JavaScript 程序的任何地方都可以访问 //定义的变量可以修改,如果 ...

  4. Vue使用定时器定时刷新页面

    1. 需求说明 在前端开发中,往往会遇到页面需要实时刷新数据的情况,给用户最新的数据展示. 2. 逻辑分析 如果需要数据实时更新,我们自然是需要使用定时器,不断的调用接口数据,会相对的消耗内存. 3. ...

  5. 部署一套完整的Kubernetes高可用集群(二进制,v1.18版)

    一.前置知识点 1.1 生产环境可部署Kubernetes集群的两种方式 目前生产部署Kubernetes集群主要有两种方式: kubeadm Kubeadm是一个K8s部署工具,提供kubeadm ...

  6. 题解 UVA11865 【Stream My Contest】

    最小树形图(朱刘算法)\(+\) 二分答案. 由题意得,我们要在一些有向边中选出一些边,使\(0\)号节点能够到达其他节点,使距离之和\(\leqslant cost\),并且使每条边中的带宽的最小值 ...

  7. HTTP的实体数据

      数据类型表示实体数据的内容是什么,使用的是MIME    type,相关的头字段是Accept和Content-Type:  text:即文本格式的可读数据,我们最熟悉的应该就是text/html ...

  8. ~~并发编程(十一):GIL全局解释锁~~

    进击のpython ***** 并发编程--GIL全局解释锁 这小节就是有些"大神"批判python语言不完美之处的开始 这一节我们要了解一下Cpython的GIL解释器锁的工作机 ...

  9. Fortify Audit Workbench Cookie Security: Cookie not Sent Over SSL

    Abstract 所创建的 cookie 的 secure 标记没有设置为 true. Explanation 现今的 Web 浏览器支持每个 cookie 的 secure 标记. 如果设置了该标记 ...

  10. 前端网(http://www.qdfuns.com/)不能访问了

    前端网(http://www.qdfuns.com/)不能访问了 之前写的一些知识点也找不到了,有点难受.... 这说明知识点还是放在本地电脑稳一点,多备份,云端时刻在变化... 希望博客园别也用着用 ...