SOURCE

// 1. 打印0-20之间的整数, 将每个数输出到控制台
// for (let i = 0; i <= 20; i++) {
//     console.log(i)
// }
// 2. 计算1-1000之间的累加和,并且打印输出到页面中
// let sum = 0
// for (let i = 1; i <= 2000; i++) {
//     sum += i
// }
// console.log(`累加和为:${sum}`)
// 3. 页面依次打印 100-200之间,可以被6整除的数字
// for (let i = 100; i <= 200; i++) {
//     if (i % 6 === 0) {
//         console.log(i)
//     }
// }
// 4. 用户弹窗输入两个数字,页面输出两个数字中的最大值(请使用三元运算符完成)
// let num1 = +prompt('请输入第一个数字'), num2 = +prompt('请输入第二个数字')
// let result = num1 < num2 ? num2 : num1
// console.log(result)
// 5. **用户输入一个数,  计算 1 到这个数的累加和** 
// let num = +prompt('请输入一个数'), sum = 0
// for (let i = 1; i <= num; i++) {
//     sum += i
// }
// console.log(sum)
// 6. **输出成绩案例(请使用if多分支来书写程序)**

//    题目描述:

//    接收用户输入的分数,根据分数输出对应的等级字母 A、B、C、D、E,

//    - 90分(含)以上 ,输出:A
//      80分(含)~ 90 分(不含),输出:B	
//       70分(含)~ 80 分(不含),输出:C 	
//       60分(含)~ 70 分(不含),输出:D   	
//    - 60分(不含) 以下,输出 E
// let score = +prompt('输入成绩开始清算!')
// if (score >= 90) {
//     alert('您的最终评分为:A')
// }
// else if (score >= 80) {
//     alert('您的最终评分为:B')
// }
// else if (score >= 70) {
//     alert('您的最终评分为:C')
// }
// else if (score >= 60) {
//     alert('您的最终评分为:D')
// }
// else {
//     alert('您的最终评分为:E')
// }
// 7. **输出星期练习(请使用switch分支语句来书写程序)**

//    题目描述:

//    请用户输入1个星期数. 就将对应的英文的星期打印出来. 

//    - 比如用户输入'星期一', 则 页面可以打印  monday 
//    - 英文自己查有道。比如星期一是  monday  星期二是 tuesday
// let input = +prompt('请输入一个星期数,如‘1’,‘2’')
// switch (input) {
//     case 1:
//         alert('Monday')
//         break
//     case 2:
//         alert('Tuesday')
//         break
//     case 3:
//         alert('Thirday')
//         break
//     case 4:
//         alert('Thursday')
//         break
//     case 5:
//         alert('Friday')
//         break
//     case 6:
//         alert('Saturday')
//         break
//     case 7:
//         alert('Sunday')
//         break

// }
// 8. **用户登录验证**

//    题目描述:

//    接收用户输入的用户名和密码,若用户名为 “admin” ,且密码为 “123456” ,则提示用户登录成功!  否则,让用户一直输入。
// while (true) {
//     let uname = prompt('请输入用户名'), password = prompt('请输入密码')
//     if (uname === '94' && password === '123') {
//         break
//     }
// }
// alert('登陆成功')
// 打开页面出现一个提示框,注意是一直提示的,'请您选择 + - * / ,如果输入q,则是退出结束程序

// - 如果输入的是 + - * / 其中任何一个,比如用户输入是 + ,则是计算求和,如果用户输入是 *  则是计算乘积
//   - 则提示第一个弹窗,提示用户:'请您输入第一个数字'
//   - 输入完毕则继续提示第二个弹窗,提示用户:'请您输入第二个数字'
//   - 都输入完毕,则通过警示框 alert 输出结果
// - 如果输入是 q,则结束程序
// while (true) {
//     let input = prompt(
//         `请输入+ - * / 其中任何一个以进行运算
//         按Q退出程序
//         `)
//     if (input === 'Q') {
//         break
//     }
//     else {
//         let num1 = +prompt('请输入第一个数'), num2 = +prompt('请输入第二个数')
//         if (input === '+') {
//             alert(`运算结果为:${num1 + num2}(加)`)
//         }
//         if (input === '-') {
//             alert(`运算结果为:${num1 - num2}(减)`)
//         }
//         if (input === '*') {
//             alert(`运算结果为:${num1 * num2}(乘)`)
//         }
//         if (input === '/') {
//             alert(`运算结果为:${num1 / num2}(除)`)
//         }
//     }
// }
// 使用while循环,页面中打印,1:页面输出1-100
// let i = 1
// while (i <= 100) {
//     console.log(i)
//     i++
// }
// 2:计算从1加到100的和并输出
// let i = 1, sum = 0
// while (i <= 100) {
//     sum += i
//     i++
// }
// console.log(sum)
// 3:计算1-100之间的所有偶数和
// let i = 1, sum = 0
// while (i <= 100) {
//     if (i % 2 === 0) {
//         sum += i
//     }
//     i++
// }
// console.log(sum)
// 简易ATM取款机案例:用户可以选择存钱,取钱,查看余额和退出功能
// let cash = 0
// while (true) {
//     let re = +prompt(`欢迎使用大富翁银行自助ATM机,请选择您需要的服务!
//     1.存钱
//     2.取钱
//     3.查看账户余额
//     4.退出服务
//     `)
//     if (re === 4) {
//         break
//     }
//     switch (re) {
//         case 1:
//             cash += +prompt(`请输入您的存钱金额`)
//             break
//         case 2:
//             let take = +prompt(`请输入您的取钱金额`)
//             if (cash - take >= 0) {
//                 cash = cash - take
//                 alert(`取款成功,当前账户余额为${cash}元`)
//             }
//             else { alert(`余额不足,取款失败`) }
//             break
//         case 3:
//             alert(`当前余额为${cash}元`)
//             break
//     }
// }
// 利用for循环输出1~100岁
// for (let i = 1; i <= 100; i++) {
//     console.log(i)
// }
// 求1-100之间所有的偶数和
// let sum = 0
// for (let i = 1; i <= 100; i++) {
//     if (i % 2 === 0) {
//         sum += i
//     }
// }
// console.log(sum)
// 页面中打印五个小星星
// for (let i = 1; i <= 5; i++) {
//     document.write('※')
// }
// 将数组[1,2,3,4,5]依次打印出来
// let arr = [1, 2, 3, 4, 5]
// for (let i = 0; i <= arr.length - 1; i++) {    i < arr.length也行 随你
//     console.log(arr[i])
// }
// for (let day = 1; day <= 3; day++) {
//     document.write(`第${day}天<br>`)
//     for (let num = 1; num <= 5; num++) {
//         document.write(`记住第${num}个单词<br>`)
//     }
// }
// 打印5行5列星星→变种为根据用户输入的行列数打印
// let hang = +prompt('请输入行数')
// let lie = +prompt('请输入列数')
// for (let i = 1; i <= hang; i++) {
//     for (let j = 1; j <= lie; j++) {
//         document.write('※')
//     }
//     document.write('<br>')
// }
// * 需求1:让用户输入五个有效年龄(0-100之间),**放入数组中**

//   * 必须输入五个有效年龄年龄,如果是无效年龄,则不能放入数组中
// * 需求2:打印出所有成年人的年龄 (数组筛选)
// * 需求3:打印出所有人总年龄 (累加)
// * 需求4:打印出所有人的平均年龄 (累加)
// * 需求5:打印出最大年龄和最小年龄 (最大值)
// let arr = []
// while (arr.length < 5) {
//     let num = +prompt(`请输入第${arr.length + 1}个年龄`)
//     if (num >= 0 && num <= 100) {
//         arr.push(num)
//     }
// }
// console.log(arr)
// for (let i = 0; i < arr.length; i++) {
//     if (arr[i] >= 18)
//         console.log(`成年人年龄:${arr[i]} <br>`)
// }
// let sum = 0
// for (let i = 0; i < arr.length; i++) {
//     sum += arr[i]
// }
// console.log(`所有人年龄总和为:${sum}`)
// for (let i = 0; i < arr.length; i++) {
//     sum += arr[i]
// }
// console.log(`所有人的平均年龄为:${sum / arr.length}`)
// let max = arr[0], min = arr[0]
// for (let i = 1; i < arr.length; i++) {
//     if (max < arr[i]) {
//         max = arr[i]
//     }
//     if (min > arr[i]) {
//         min = arr[i]
//     }
// }
// console.log(`最大年龄为:${max},最小年龄为:${min}`)
// 找出数组中 元素为10的下标,有则打印该下标,没有则打印-1

// * 例如: [88,20,10,100,50]  打印 2
// * 例如: [88,20,30,100,50]  打印-1
// let arr = [88, 20, 0, 100, 50], re = -1
// for (let i = 0; i < arr.length; i++) {
//     if (arr[i] === 10) {
//         re = i
//         break
//     }
// }
// console.log(re)
// 使用for循环 - 求出数组元素的和 [5, 8, 9, 2, 1, 5]
// let arr = [5, 8, 9, 2, 1, 5], sum = 0
// for (let i = 0; i < arr.length; i++) {
//     sum += arr[i]
// }
// console.log(sum)
// 使用for循环 - 求出数组里大于5的i和 [4, 9, 5, 20, 3, 11]
// let arr = [4, 9, 5, 20, 3, 11], sum = 0
// for (let i = 0; i < arr.length; i++) {
//     if (arr[i] > 5) {
//         sum += arr[i]
//     }
// }
// console.log(sum)
// 使用for循环 - 求出班级里同学们平均年龄[15, 19, 21, 33, 18, 24]
// let arr = [15, 19, 21, 33, 18, 24], average = 0 ,sum = 0
// for (let i = 0; i < arr.length; i++) {
//     sum += arr[i]
// }
// average = sum / arr.length
// console.log(average)
// 计算[2, 6, 18, 15, 40] 中能被3整除的偶数的和
// let arr = [2, 6, 18, 15, 40], sum = 0
// for (let i = 0; i < arr.length; i++) {
//     if (arr[i] % 3===0) {
//         sum += arr[i]
//     }
// }
// console.log(sum)
// 计算[2, 6, 18, 15, 40] 中能被3整除的偶数的个数
// let arr = [2, 6, 18, 15, 40], arr1 = []
// for (let i = 0; i < arr.length; i++) {
//     if (arr[i] % 3 === 0 && arr[i] % 2 === 0) {
//         arr1.push(arr[i])
//     }
// }
// console.log(arr1.length)
// 给一个数字数组,该数组中有很多数字0,将不为0的数据存入到一个新的数组中
// let arr = [0, 6, 3, 2, 45, 0, 3, 0, 5, 0], arr1 = []
// for (let i = 0; i < arr.length; i++) {
//     if (arr[i] !== 0) {
//         arr1.push(arr[i])
//     }
// }
// console.log(arr1)
// 求任意数与任意数的累加和
// let sum = 0
// function getSum(start = 0,end = 0) {
//     for (let i = 1; i <= end; i++) {
//         sum += i
//     }
//     console.log(sum)
// }
// getSum(1,50)
// 学生的分数是一个数组,计算每个学生的总分
// function getSum(arr = []) {
//     let sum = 0
//     for (let i = 0; i < arr.length; i++) {
//         sum += arr[i]
//     }
//     document.write(`学生的总分是:${sum}`)
// }
// getSum([85, 90, 70])
// 求n~m的累加和
// function getSum(n = 0, m = 0) {
//     let sum = 0
//     for (let i = n; i <= m; i++) {
//         sum += i
//     }
//     document.write(`累加和为:${sum}`)
// }
// getSum(+prompt('请输入起始值'), +prompt('请输入终止值'))
// function getSum(x = 0, y = 0) {
//     return x + y
// }
// let re = getSum(+prompt('请输入第一个值'), +prompt('请输入第二个值'))
// document.write(re)
// 求任意2个数中的最大值,并返回
// function getMax(x = 0, y = 0) {
//     return x > y ? x : y
// }
// let re = getMax(+prompt('请输入一个任意值'), +prompt('请输入一个任意值'))
// console.log(re)
// 求任意数组中的最大值并返回这个最大值
// function getVal(arr = []) {
//     let max = arr[0], min = arr[0]
//     for (let i = 1; i < arr.length; i++) {
//         if (max < arr[i]) {
//             max = arr[i]
//         }
//         if (min > arr[i]) {
//             min = arr[i]
//         }

//     }
//     return [max, min]
// }
// let re = getVal([1, 4, 67, 32, 99, 0])
// console.log(re)
// **需求:**实现两个数的值交换(函数版本)  
// function getVal(x = 0, y = 0) {
//     let temp = x
//     x = y
//     y = temp
//     return [x, y]
// }
// let re = getVal(+prompt('请输入一个数'), +prompt('请输入一个数'))
// console.log(re)
// **题目:**封装余额函数

// **要求:**

// 1. 运行程序后, 浏览器显示输入确认框(prompt)
// 2. 第一个输入确认框提示输入银行卡余额
// 3. 第二个输入确认框提示输入当月食宿消费金额
// 4. 第三个输入确认框提示输入当月生活消费金额
// 5. 输入完毕后,在页面中显示银行卡剩余金额
// 6. 提示: 所有功能代码封装在函数内部(函数需要把余额返回)
// function setAbility() {
//     let money = +prompt('请输入银行卡余额')
//     let food = +prompt('请输入当月食宿消费金额')
//     let expense = +prompt('请输入输入当月生活消费金额')
//     let cash = money - food - expense
//     alert(`当前卡内余额为:${cash}元`)
//     return cash
// }
// let re = setAbility()
// console.log(re)
// **目标:** 封装一个函数,可以求任意数组的和 或 平均值

// **要求:**

// - 函数可以传递2个参数,比如  handleData(arr, true)      `handleData 处理数据的意思`
//   * 参数一: 接受实参传递过来的数组
//   * 参数二:    布尔类型  如果是true或者不传递参数 是求和操作,   如果传递过来的参数是 false 则是求平均值
// function handleData(arr = [], condition = true) {
//     let sum = 0
//     for (let i = 0; i < arr.length; i++) {
//         sum += arr[i]
//     }
//     if (condition) {
//         return sum
//     } else {
//         return sum / arr.length
//     }
// }
// let re = handleData([1, 2, 3, 4, 5])
// console.log(re)
// 需求:  封装 some 函数查看数组是否存在某个元素  。

// - 要传递2个参数 元素、数组
// - 如果数组存在元素则返回true,如果没有存在元素就返回 false
// 例如检测 香蕉  是否存在于  数组['苹果', '香蕉', '橘子', '荔枝', '梨子']中, 返回结果是 true
// function getSome(ele, arr = []) {
//     let condition = false
//     for (let i = 0; i < arr.length; i++) {
//         if (ele === arr[i]) {
//             condition = true
//             break
//         }
//     }
//     return condition
// }
// let re = getSome('苹果', ['苹果', '香蕉', '橘子', '荔枝', '梨子'])
// console.log(re)
// 需求:  封装 findeIndex 函数返回查找元素在数组中的索引号。
// - 要传递2个参数 元素、数组
// - 如果找到,则返回查找元素在数组中的索引号,如果查找不到,则返回 -1
// 例如检测 香蕉    数组['苹果', '香蕉', '橘子', '荔枝', '梨子']中, 返回结果是  1
// function findeIndex(ele, arr = []) {
//     let condition = -1
//     for (let i = 0; i < arr.length; i++) {
//         if (ele === arr[i]) {
//             condition =  i
//             break
//         }

//     }
//     return condition
// }
// let re = findeIndex('梨', ['苹果', '香蕉', '橘子', '荔枝', '梨子'])
// console.log(re)
// 函数表达式
// let fn = function () {
//     console.log(111)
// }
// fn()
// 立即执行函数
// (function (x = 0, y = 0) {
//     console.log(x + y)
// })(1, 2);
// (function (arr = []) {
//     console.log(arr[0])
// })([1, 2, 3, 4, 5]);
// 用户输入秒数自动转换为时分秒
// let second = +prompt('请输入总秒数')
// function getTime(ts = 0) {
//     let h = parseInt(ts / 60 / 60 % 24)
//     let m = parseInt(ts / 60 % 60)
//     let s = parseInt(ts % 60)
//     h = h < 10 ? '0' + h : h
//     m = m < 10 ? '0' + m : m
//     s = s < 10 ? '0' + s : s
//     return `现在时间是${h}时${m}分${s}秒`
// }
// let re = getTime(second)
// document.write(re)
// let obj = {
//     uname: '94',
//     age: '18',
//     gender: '雄性兽人'
// }
// obj.uname = '49'
// document.write(obj.uname)
// document.write(obj['uname'])
let obj = {
    uname: '94',
    singSong: function () {
        console.log('死歌开大')
    },
    dance: function () {
        console.log('空咙哐啷')
    }
}
obj.singSong
console 命令行工具 X clear

                    
>
console