1.分析
需求:分析下列代码执行顺序,控制台如何打印
控制台打印5次,依次打印什么?
<script>
let num = 1
console.log(num)//?
function fn(a) {
console.log(num)//?
num = 2
console.log(num)//?
}
num = 3
console.log(num)//?
fn(num)//执行调用函数
console.log(num)//?
</script>
2.求最大值max
<script>
function fn(arr) {
//请完成函数功能
}
let res1 = fn([15, 22])//如果传入两个数字,则求2个数字最大值。res1得到22
let res2 = fn([78, 50, 66])//如果传入三个数字,则求3个数字最大值。res2得到78
//答案:console.log(Math.max(...arr))
</script>
3.返回布尔值判断偶数
需求:写一个函数,可以判断数组中的元素有没有偶数
函数参数是一个数组: 例如 [1,3,5,7,10]
函数返回值是布尔类型。 true表示有偶数,false表示没有偶数
<script>
// 答案
const arr = [1,3,5,7,10]
const flag = arr.some((item)=> item % 2 === 0)
console.log(flag)
</script>
4.循环嵌套
函数有两个参数:第一个参数代表行,第二个参数代表列,函数没有返回值
单词介绍:单词介绍:row行 colunm列 ☆
function fn(row, column) {
//请完成函数功能
}
fn(3, 5) //打印3行5例星星
fn(6, 7) //打印6红7列星星
<script>
//答案
function fn(row, column) {
// 请完成函数功能
for (let i = 1; i <= row; i++) {
for (let j = 1; j <= column; j++) {
document.write('☆')
}
document.write('<br>')
}
}
fn(3, 5)//打印3行5例星星
fn(6, 7)//打印6红7列星星
</script>
5.翻转数组
函数参数是一个数组: 例如 [88,20,50,70,60],函数返回值是翻转之后的数组 [60,70,50,20,88]
翻转思路提示:如何反向遍历数组? (正向0下标 -> 最大下标 反向最大下标->0下标)
<script>
// 答案
const arr = [88,20,50,70,60]
const newArr = []
//声明一个空数组 保存翻转的元素
for(let i=arr.length-1;i>=0;i--){
newArr.push(arr[i])
};
console.log(newArr);
</script>
6.翻转字符串
函数参数是一个字符串: 例如 '世界你好'
函数返回值是翻转之后的字符串: 例如 '好你界世'
翻转思路提示:字符串可以像数组一样,利用下标来获取单个字符,思路与翻转思路基本类似
<script>
const str = '世界你好'
// console.log(str[0])
const arr = []
// const arr = str.split(",")//分割符
for (let i = 0; i < str.length; i++) {
arr.push(str[i])
}
console.log(arr)
//声明一个空数组 保存翻转的元素
const newArr = []
for (let j = arr.length - 1; j >= 0; j--) {
newArr.push(arr[j])
};
console.log(newArr)
console.log(newArr.join(''))//拼接
</script>
7.字符串添加分割符
写一个函数,可以给字符串添加分隔符
函数参数有两个,一个是字符串,一个是分隔符,函数返回值是添加分隔符之后的字符串
单词介绍: separator;分隔符
<script>
const arr = []
let newStr = ''
function fn(str, separator) {
//请完成函数功能(答案)
for (let i = 0; i < str.length; i++) {
arr.push(str[i])
newStr = arr.join(separator)
}
console.log(newStr)
}
fn('字符串', '@')//打印 '字@符@串'
fn('分割符', '*')//打印 '分*割*符'
</script>
*建议先看题自己做一遍再看答案哦!所有题目,除需要css样式之外的, 都需要自己新建文件把题干写出来。