目录
// 2. 声明uname, age, gender 多个变量
4. 用户输入分数,根据分数奖励不同的车( 利用多分支语句 )
5. 打印输出数组里所有的奇数 [5, 2, 8, 10, 3, 7]
6. 使用for循环 - 求出班级里同学们平均年龄 [15, 19, 21, 33, 18, 24, 10]
7. 使用for循环 - 求出数组里大于5的和, 以及能被3整除的偶数的个数
8. 给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中
测试题目
// 1. 声明age变量并赋值为18
// let age = 18
// 2. 声明uname, age, gender 多个变量
//let uname
//let age
//let gender
// 3. 定义数组,保存 小黑、小红、小花 三个人的名字
// let arr = ['小黑','小红','小花']
// 4. 写出for循环遍历数组的基本语法
// for (let i = 0 ; i < arr.length ; i++) {
// arr[i]
// }
// 5. 写出数字自增的做法有哪些
// i++ 后置自增 先返回再自增
// ++i 前置自增 先自增 再返回
// 6. 写出if单分支、双分支、多分支语句
if () {
if单分支
}
if () {
if 双分支
} else {
}
if () {
if 多分支
}else if {
}else {
}
// 7. 请写出三元运算符的语法
//条件表达式 ? 表达式1 : 表达式2
//true 返回1 false 返回2
// 8. 请写出for循环的语法
// for (let i = 0 ; i < 终止条件; i++) {
// 循环体
// }
// 9. 写出出数组的常用方法和对应的作用
/* concat() 方法用于合并两个或多个数组, 此方法不会更改现有数组, 而是返回一个新数组.
filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素, 筛选数组.
forEach() 方法迭代(遍历)数组
indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
Array.isArray() 用于确定传递的值是否是一个 Array。
pop() 方法从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度。
push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
reverse() 方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)
shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。*/
// 10. 写出函数的语法
// 带有形参和返回值
// function name(x) {
// return x
// }
// console.log(name('苹果'));
// 11. 写出作用域有哪些
// 全局作用域 和 局部作用域
// 12. 写出对象语法
// let obj = {
// name : '张三',
// age : 18
// }
// console.log(obj.name)
// console.log(obj['age'])
// 13. 写出遍历对象的语法
// for (let k in obj(对象)) {
// }
// console.log(k) 输出属性值=名
// console.log(obj[k]) 输出属性值
// 14. 写出基本数据类型有哪5种
// 数据类型 Number
// 字符串 String
// 布尔值 Boolean
// 未定义值 undefined
// 空值 null
// 15. 写出 转换为数值型常见方法
// 隐式转化
// +号写在前面可以把数据的字符串转换为数据
// 除了+以外,- * /会把数据直接转换为数字
// 显示转化
// 1,Number(数据)
// 2,parseFloat(取有效小数)
// 3,parseInt(取整)
// 16. 写出模板字符串使用方式
//console.log(`这是一个模板字符串,其中变量为${}`)
// 17. 写出布尔类型的值为false 的值哪些
//"" , 0 , null , undefined , NaN , false .
// 18. 写出 +加号的功能有哪些
// 如果一边为数据,一边为字符串,会将数据隐式转换为字符串. +号为拼接作用
// 两边为字符串为拼接
// 两边为数据为相加.
// 19. 短路运算 (逻辑中断)
原理:
当有多个表达式(值)时, 左边的表达式值可以确定结果时, 就不再继续运算右边的表达式 的值.
逻辑与(&&) 短路运算
语法: 表达式1 && 表达式2
如果第一个表达式的值为真,则返回表达式2.
如果第一个表达式的值为假,则返回表达式1.
编程题目
/*
1. 增加年龄
描述
1. 提示用户输入年龄,用户输入年龄后,把用户输入的年龄增加 5 岁
2. 增加 5 岁后,通过弹出框提示用户 “ 据我估计,五年后,你可能 XX 岁了”
*/
//let age = +prompt('请输入您的年龄')
//alert(`据我估计,五年后,你可能 ${age + 5} 岁了`)
/*
2. 用户登录验证
描述
接收用户输入的用户名和密码,若用户名为 “admin” ,且密码为 “123456” ,则提示用户登录成功! 否则,让用户一直输入。
ps:使用while循环
*/
// while (true) {
// let uname = prompt('请输入用户名')
// let pwd = +prompt('请输入密码')
// if (uname = 'admin' && pwd === 123456) {
// alert('登陆成功')
// break
// }
// }
/*
3. 用户输入一个数, 计算 1 到这个数的和。
比如 用户输入的是 5, 则计算 1~5 之间的累加和 并且输出到控制台
*/
// let num = +prompt('请您输入需要计算总和的数值范围:1~?')
// let sum = 0
// function getSum(a,b) {
// for (let i = 1; i <= num ; i++) {
// sum += i
// }
// return sum
// }
// console.log(getSum(1,num))
/*
4. 用户输入分数,根据分数奖励不同的车( 利用多分支语句 )
- 90~100分 奖励法拉利
- 80~90分 奖励奥迪
- 60~80分 奖励奥拓
- 60分以下 打一顿
*/
// let x = +prompt('请输入你开始的份数并查看奖励:')
// if (x > 90) {
// alert('奖励法拉利')
// } else if (x > 80) {
// alert('奖励奥迪')
// } else if (x > 60) {
// alert('奖励奥拓')
// } else {
// alert('打一顿')
// }
/*
5. 打印输出数组里所有的奇数 [5, 2, 8, 10, 3, 7]
let arrNums = [5, 2, 8, 10, 3, 7]
*/
// let arr = [5, 2, 8, 10, 3, 7]
// let arrs = []
// for (let i = 0 ; i < arr.length ; i++) {
// if (arr[i] % 2 !== 0) {
// arrs.push(arr[i])
// }
// }
// console.log(arrs)
/*
6. 使用for循环 - 求出班级里同学们平均年龄 [15, 19, 21, 33, 18, 24, 10]
let arrAges = [15, 19, 21, 33, 18, 24, 10]
*/
// let arr = [15, 19, 21, 33, 18, 24, 10]
// let sum = 0
// for (let i = 0 ; i < arr.length ; i++) {
// sum += arr[i]
// }
// console.log(`平均年龄为${sum / arr.length}`)
/*
7. 使用for循环 - 求出数组里大于5的和, 以及能被3整除的偶数的个数
let arrCount = [4, 9, 5, 3, 20, 6, 15, 11, 35]
*/
// let arr = [4, 9, 5, 3, 20, 6, 15, 11, 35]
// let sum = 0
// let arrs = []
// for (let i = 0; i < arr.length ; i++) {
// if (arr[i] > 5) {
// sum += arr[i]
// }
// if (arr[i] % 3 ===0 && arr[i] % 2 === 0) {
// arrs.push(arr[i])
// }
// }
// console.log(sum)
// console.log(arrs.length)
/*
8. 给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中
let arrAll = [4, 0, 9, 5, 0, 20, 3, 0, 11, 0 , 0, 10]
*/
// let arrAll = [4, 0, 9, 5, 0, 20, 3, 0, 11, 0 , 0, 10]
// let arr = []
// for (let i = 0 ; i < arrAll.length ; i ++) {
// if (arrAll[i] !== 0) {
// arr.push(arrAll[i])
// }
// }
// console.log(arr)
/*
9. 封装余额函数
目的: 复习函数的声明与调用
要求:
1. 运行程序后, 浏览器显示输入确认框(prompt)
2. 第一个输入确认框提示输入银行卡余额
3. 第二个输入确认框提示输入当月食宿消费金额
4. 第三个输入确认框提示输入当月生活消费金额
5. 输入完毕后,在页面中显示银行卡剩余金额
6. 提示: 所有功能代码封装在函数内部(函数需要把余额返回)
*/
// function live() {
// let a = +prompt('输入银行卡余额:')
// let b = +prompt('当月食宿消费:')
// let c = +prompt('当月生活消费:')
// let sum = a - b - c
// return sum
// }
// let d = live()
// document.write( `银行卡剩余金额${d}`)
/*
10. 对象的使用
要求:
1. 对象名为 computer 电脑对象
2. 有size属性, 值为 15.6 寸
3. 有brand属性,值为 华为
4. 有playGame方法,值为函数,函数内打印 吃鸡
5. 有code方法,值为函数,函数内打印 写代码使我快乐
6. 页面中输出电脑对象的size 和 brand属性的值
7. 调用对象中的playGame 和 code的方法
*/
// let computer = {
// size : 15.6,
// brand : '华为',
// playGame: function () {
// console.log('吃鸡');
// },
// code : function () {
// console.log('写代码使我快乐')
// }
// }
// console.log(computer.size)
// console.log(computer['brand'])
// computer.playGame()
// computer.code()
/*
11. 计算m-n之间所有数的和
需要有函数的使用
*/
// function getSum(num1,num2) {
// let sum = 0
// for (let i = num1; i <= num2; i++) {
// sum += i
// }
// return sum
// }
// let rel = getSum(1,100)
// let rel1 = getSum(50,100)
// let rel2 = getSum(10,70)
// console.log(`和为${rel}`)
// console.log(`和为${rel1}`)
// console.log(`和为${rel2}`)
/*
12. 猜数字游戏,设定次数,最多猜5次
要求
1. 生成随机的数字0到20
2. 只能猜5次,5次机会用完提示 `这都猜不到`
3. 猜对了,就提示 恭喜猜对拉
4. 猜小了,您猜的数字小了
5. 猜大了,就提示用户 您猜的数字大了
*/
// function getRandomIntInclusive(min, max) {
// min = Math.ceil(min);
// max = Math.floor(max);
// return Math.floor(Math.random() * (max - min + 1)) + min; //含最大值,含最小值
// }
// let x = getRandomIntInclusive(0, 20)
// console.log(x)
// let con = 5
// while (true) {
// let num = +prompt('请输入您要猜的数字')
// con--
// if (num > x) {
// alert('你猜大了')
// } else if (num < x) {
// alert('你猜小了')
// } else {
// alert('恭喜你,猜中!')
// break
// }
// if (con === 0) {
// alert('你的机会用完了,拜拜.')
// break
// }
// }
/*
13. 无限重复
需求: 只要用户输入的不是相关选项, 则一直存在弹出输入提示框, 等待用户的输入
思路:
- while() 循环
- 弹出输入框
*/
// while (true) {
// let a = prompt('请输入暗号')
// if (a === '小娜') {
// alert('密码正确')
// break
// }
// }
/*
14. 实现数组里求最大值的函数
let arrayNums = [4, 9, 5, 3, 20, 6, 15, 11]
*/
// let arr = [4, 9, 5, 3, 20, 6, 15, 11]
// let max = Math.max(...arr) //扩展运算符
// console.log(...arr)
// console.log(max)
/*
15. 操作数组对象
需求1: 遍历数组里每个对象, 判断出哪个人最大 - 打印它的名字
需求2: 遍历数组里每个对象, 为每个人增加5岁的年龄, 最后打印整个数组在控制台查看
let arrPers = [
{
name: '小明',
age: 18,
sex: '男',
},
{
name: '老刘',
age: 38,
sex: '男',
},
{
name: '小王',
age: 19,
sex: '女',
},
]
// */
// let arrPers = [
// {
// name: '小明',
// age: 18,
// sex: '男',
// },
// {
// name: '老刘',
// age: 38,
// sex: '男',
// },
// {
// name: '小王',
// age: 19,
// sex: '女',
// },
// ]
// let max = arrPers[0].age
// for (let i = 0; i < arrPers.length; i++) {
// if (arrPers[i].age > max) {
// max = arrPers[i]
// }
// }
// console.log(max.name)
// for (let i = 0; i < arrPers.length; i++) {
// arrPers[i].age = arrPers[i].age + 5
// }
// console.log(arrPers)