js-day
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的更多相关文章
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- js学习笔记:操作iframe
iframe可以说是比较老得话题了,而且网上也基本上在说少用iframe,其原因大致为:堵塞页面加载.安全问题.兼容性问题.搜索引擎抓取不到等等,不过相对于这些缺点,iframe的优点更牛,跨域请求. ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
- jquery和Js的区别和基础操作
jqery的语法和js的语法一样,算是把js升级了一下,这两种语法可以一起使用,只不过是用jqery更加方便 一个页面想要使用jqery的话,先要引入一下jqery包,jqery包从网上下一个就可以, ...
- 利用snowfall.jquery.js实现爱心满屏飞
小颖在上一篇一步一步教你用CSS画爱心中已经分享一种画爱心的方法,这次再分享一种方法用css画爱心,并利用snowfall.jquery.js实现爱心满屏飞的效果. 第一步: 利用伪元素before和 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- 干货分享:让你分分钟学会 JS 闭包
闭包,是 Javascript 比较重要的一个概念,对于初学者来讲,闭包是一个特别抽象的概念,特别是ECMA规范给的定义,如果没有实战经验,很难从定义去理解它.因此,本文不会对闭包的概念进行大篇幅描述 ...
- JS核心系列:理解 new 的运行机制
和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在内存中分配一个实例对象. 但在 javascript 中,万物皆对象,为什么还要通过 ...
随机推荐
- django的表与表之间的关系详细讲解
转:http://www.cnblogs.com/feixuelove1009/p/5855295.html
- layui导航的使用
在项目开发的时候,需要后台的系统好看点,左边的导航需要设计为多级的,而且要点击当前的链接页面,刷新后要实现选中状态 学习源头:http://www.layui.com/doc/element/nav. ...
- FTP mget without prompt
# ftp 192.168.100.2Connected to 192.168.100.2.220 Microsoft FTP ServiceName (192.168.100.2:root): ja ...
- mac 在终端使用命令行启动脚本,无法使用自己安装的python去执行脚本问题
参考了2片文章: //查看python位置 which python //先备份 1.sudo cp /usr/bin/python /usr/bin/python_cp //删除 2.sudo rm ...
- 安装appium需要注意的事项
参考 虫师 的博客园 :http://www.cnblogs.com/fnng/p/4560298.html 1.其中第二篇中,打开命令行用的不是windows中的cmd打开的界面,而是用node. ...
- WebSocket :Nginx+WebSocket内部路由策略推送服务器的实现(附可生产环境应用代码)
1.项目背景 前几天写了一篇WebSocket推送的博客:WebSocket :用WebSocket实现推送你必须考虑的几个问题 支持的连接数大概几千个,具体数量依赖于tomcat能并发的线程数,但很 ...
- Java-Runoob:Java 教程
ylbtech-Java-Runoob:Java 教程 1.返回顶部 1. Java 教程 Java 是由Sun Microsystems公司于1995年5月推出的高级程序设计语言. Java可运行于 ...
- python's eithteenth day for me 面向对象——命名空间
创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些明细称为类的属性. 而类有两种属性:静态属性和动态属性: 1,静态属性就是直接在类中定义的变量. 2,动态属性就是定义在类中的方 ...
- selenium -文件上传的实现 -对于含有input element的上传
使用selenium做自动化时,我们经常会遇到的一个让人头疼的问题就是文件上传. 问题的难点在于selenium无法识别并操作Windows窗口,若我们可以绕过弹出框直接把文件信息上传给选择按钮,难点 ...
- Python Twisted系列教程6:抽象地利用Twisted
作者:dave@http://krondo.com/and-then-we-took-it-higher/ 译者:杨晓伟(采用意译) 你可以从这里从头开始阅读这个系列. 打造可以复用的诗歌下载客户端 ...