1、克莱托指数
公式 :体重(kg) / (身高(m) * 身高(m))
< 20 : 偏瘦
> 20 <25 : 正常
> 25 : 偏旁

步骤:
1、输入体重(weight) 、 身高(height) 并且保存
2、计算克莱托指数(klt)
3、判断 klt 的范围
4、使用多重if结构完成判断
2、编写 “个人所得税计算器”函数
计算个税的方法:
3500 以下免征
3500 ~ 5000 部分 缴纳 3%
4000 : 500元 缴纳 3%
8000 : 1500元 缴纳 3% , 剩余(3000元)的按下个梯度算

45

5000 ~ 9000 部分 缴纳 10%
8000 : 1500元 缴纳 3% , 剩余(3000元)的按10%缴纳
12000 : 3500 以下免征 ,1500元 3% , 4000元 10%,剩余3000元 按下个梯度算

400
9000 以上部分 缴纳 20%
12000 : 3500 以下免征 ,1500元 3% , 4000元 10%,剩余3000元 缴纳20%

600
*******************************************************
1、循环结构
问题:
1、在控制台上打印输出1句Hello World
console.log("Hello World");
2、在控制台上打印输出10句Hello World
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
console.log("Hello World");
3、在控制台上打印输出1000句Hello World
4、将 1000 句 Hello World 更改为 "世界 你好!"
5、输出格式 "第n遍 世界 你好" n (1~1000)

以上部分内容 在Javascript 中,完全可以通过 "循环结构" 来搞定
生活中的循环:
1、活着
2、上学、上班
3、地球 自转、公转

特点:
1、做重复性 或 相似性的操作
2、都会有显示的结束

什么是循环:循环,重复的执行相同 或 相似的操作
循环的基本要素:
1、循环体 : 相同 或 相似的操作
2、循环条件:循环的次数,可以表示循环的开始或结束

没有结束的循环:称之为 死循环

1、while循环
1、语法结构
while(条件判断){
//循环体
}

条件为 true 时,则执行一遍循环体中的所有语句;再回来判断条件,若条件为true,则再执行循环体 ... 直到 条件为 false时,则结束循环
2、循环实现
1、在控制台上打印输出10句Hello World
循环条件:从第1遍开始打印 , 到第10遍结束
循环体:console.log("Hello world");

注意:一定要去更新循环条件,否则容易引发死循环
2、将 1 - 100之间所有的数字 进行累加求和
循环条件:从 1 开始 到 100 结束
循环体:
循环条件的 变量要参与到循环操作中来
循环变量 就可以表示 1-100之间的每一个数字

最终:将 循环变量 累加即可

更新循环条件
3、将 1-100之间 所有的 奇数 进行累加求和
循环条件:从 1 开始 到 100 结束
循环体:
1、判断 i 的奇偶性,如果为 奇数, 则累加到sum之后
2、循环条件(循环变量)以2递增
3、循环 流程控制
提前终止循环结构
1、break语句
作用:break 用在循环体中,用于退出循环
程序碰到 break 语句后,break后面的循环体操作都不会被执行,并且程序的流程会跳到循环结构以外的下一条语句去执行
2、使用场合:
在不确定循环次数的条件下,可以随时终止循环
while(true){
if(输入内容 == "exit"){
break;
}
}

随机数: Math.random() 表示一个随机数(0-1)

总结:
在确定循环次数的条件下 , while流程

1、声明循环条件 var i=1;
2、编写循环体while(i<=10){}
3、在循环体 更新循环条件(循环变量) i++

2、for循环
解决问题:与 while 循环基本一致,确定了循环次数的条件下使用
语法:for(表达式1;表达式2;表达式3){//循环体}
表达式1 :声明循环条件
表达式2 :满足循环的条件 ==> while(条件)
表达式3 :更新循环变量

通过 while 循环 打印 10遍 Hello World
var i=1;//表达式1
while(i<=10 //表达式2 ){
console.log("Hello World");
i++; //表达式3
}

==> for循环结构
for(var i=1;i<=10;i++){
console.log("Hello World");
}

for循环的流程:
1、计算 表达式1 的值
2、计算 表达式2 的值,如果为true则执行循环体,否则退出。
3、执行循环体
4、计算 表达式3 的值
5、计算表达式2 , 如果为true,继续执行循环体,否则退出

请输入一个数字:5
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
console.log("");

for循环的特殊用法:
1、表达式1位置 可以为空
for(;表达式2;表达式3)

如果省略表达式1的话,那么需要在循环外面,对表达式1进行声明
for(var i=1;i<10;i++){
//
}

var i=1;
for(;i<10;i++){
//
}
2、省略表达式2
for(var i=1;;i++){
//死循环
}
注意:如果省略了表达式2的话,需要在循环体内,将其内容补充完整
for(var i=1;;i++){
if(i > 10){
break;
}
}
3、省略表达式3
for(var i=1;i<10;){
//死循环
}
注意:如果省略表达式3,要么在循环体重补充表达式3,要么 增加条件允许循环退出
for(var i=1;i<10;){
...
i++;
}

for(var i=1;i<10;){
if(条件){
break;
}
}
4、for(;;){

}

var i=1;
for(;;){
if(i > 10){
break;
}
console.log("Hello World");
i ++;
}
5、表达式1,表达式3 位置处内容多样化
多样化:
表达式1的位置处,可以一次性声明多个变量,多变量之间用 , 分隔
表达式3的位置处,可以一次性更改多个循环变量, 用 , 分隔
0 + 6 = 6
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
....
6 + 0 = 6

2、数组(创建、访问)
问题:保存学员的姓名 ?
var name1 = "";
var name2 = "";
..
var name589 = "";

多数据的保存 和 管理的问题 ?
1、数组
多个元素组成的集合,可以在一个变量中存储多个数据值

数组中元素的数据类型可以相同,也可以不同
所有元素都按照【线性顺序】排列
线性顺序:
除第一个元素外,每个元素都有唯一的一个前驱元素
除最后一个元素外,每个元素都有唯一的一个后继元素。

数组是通过下标(索引)来标识每个元素的位置,下标时从 0 开始 , 最大值 数组元素个数 - 1
2、数组的初始化
1、一维数组的使用
1、声明数组
1、var 数组名 = [];//声明一个不包含任何元素的空数组
2、var 数组名 =[元素1,元素2,元素3];//声明一个包含3个元素的数组
eg : var names = ["张三丰","张翠山","张无忌"];
3、var 数组名 = new Array();
4、var 数组名 = new Array(元素1,元素2,元素3);
eg : var girls = new Array("赵敏","周芷若","小昭");
2、访问数组元素
无论设置还是获取,都与数组元素的 索引 相关
1、设置数组元素的值
var names = ["张三丰","张翠山","张无忌"];
语法: 数组名[索引值]=值;

names[0] = "ZSF"; //修改数组中,第一个元素的值为 ZSF

names[3] = "谢逊"; //追加新元素(指定索引的元素不存在时,则追加)
2、获取数组元素的值
语法:数组名[索引值];
var name = names[0];
3、获取数组长度
获取数组中元素的个数,即数组长度
属性:length
使用方式:数组名.length
3、循环遍历数组元素
遍历数组:通过循环的方式,获取数组中的每一个元素
实现方式:使用 for 循环、数组的length属性、元素的索引
var names = ["张三丰","张翠山","张无忌"];
for(var i=0;i<names.length;i++){
console.log(names[i]);
}

//倒序
for(var i=names.length-1;i>=0;i--){
console.log(names[i]);
}

js-day的更多相关文章

  1. Vue.js 和 MVVM 小细节

    MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...

  2. js学习笔记:操作iframe

    iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...

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

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

  4. JS调用Android、Ios原生控件

    在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...

  5. jquery和Js的区别和基础操作

    jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...

  6. 利用snowfall.jquery.js实现爱心满屏飞

    小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...

  7. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

  8. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  9. 干货分享:让你分分钟学会 JS 闭包

    闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...

  10. JS核心系列:理解 new 的运行机制

    和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在内存中分配一个实例对象. 但在 javascript 中,万物皆对象,为什么还要通过 ...

随机推荐

  1. openfaas 简单试用

    1. 安装 faas-cli  参考以前文章,或者使用官方的shell脚本   2. 简单例子 mkdir rong cd rong faas-cli new rong --lang python / ...

  2. c#学习笔记 VS编辑器常用设置

    1.NET Framework 4.0安装好后目录在哪里? C:\Windows\Microsoft.NET\Framework下面 C#中CLR和IL分别是什么含义? CLR common lang ...

  3. ②SpringBoot之Web综合开发

    Spring boot初级教程 :<SpringBoot入门教学篇①>,方便大家快速入门.了解实践Spring boot特性,本文介绍springBoot的web开发 web开发sprin ...

  4. Qt开发环境下载和安装

    Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址: http://www.qt.io/ 也可以访问Qt项目域名:http://qt-project.org ...

  5. 蓝桥杯 基础练习 BASIC-12 十六进制转八进制

    基础练习 十六进制转八进制   时间限制:1.0s   内存限制:512.0MB 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n&l ...

  6. 1138 Postorder Traversal

    题意:给出二叉树的前序序列后中序序列,输出其后序序列的第一个值. 思路:乍一看不就是前序+中序重建二叉树,然后后序遍历嘛!这么做当然不会有错,但是却没有真正领会本题的意图.本题并不是让我们输出后序序列 ...

  7. win2003能支持的最高python版本为3.3.5版本

    https://www.python.org/downloads/windows/

  8. 011. Python中*args, **kwargs 和 pass 和self 解释

    *args, **kwargs →在python都表示可变参数, *args表示任意多个任意类型无名参数, 是一个元组; **kwargs表示关键字参数(key/value参数), 是一个字典,接收的 ...

  9. Oracle数据库Where条件执行顺序

    由于SQL优化起来比较复杂,并且还会受环境限制,在开发过程中,写SQL必须必须要遵循以下几点的原则: 1.ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHE ...

  10. js操作serviceWorker缓存静态文件

    js操作serviceWorker缓存静态文件 serviceWorker的作用就是用来做离线应用的,在手机端程序中用的较多 先看下效果 index.html <!DOCTYPE html> ...