周一笔记
1、for循环:
for(临时变量;循环条件;条件变更){
循环体
}
for(let i=0;i<=100;i++){
document.write(i)
}
2、while循环:
声明变量(变量的起始值)
while(条件){
循环体
变量的变化
}
let i=1
while(i<=10){
document.write(`${i}<br>`)
i++
}
3、do...while循环 :
声明变量
do{
循环体
变量的变化
}while(条件)
4、数组:(数组是一组数据的集合,在内存中是一段连续的内存空间)
直接通过[]声明 一个数组
let arr=["zhangsan","lisi",1,2,3,4,true,"wangwu"]
读取数组中元素
(1)数组名[下标](数组中下标从0开始)
alert(arr[0])
(2)Array
5、数组的遍历:
<1>基于循环:
let arr=["zhangsan","lisi",1,2,3]
for(let i=0;i<arr.length;i++){
document.write(arr[i])
}
<2>循环加强:
(1)for in
for(let i in arr){
console.log(alert[i])
}
(2)for of
for(let i of arr){
console.log(i)
}
6、数组的常见方法:
(1)添加(向数组的开头或结尾添加一个或多个元素)
let arr=[1,2,3,4,5]
arr.unshift("zhangsan",1)
arr.push("lisi")
(2)删除(删除并返回 数组的第一个或最后一个元素 )
arr.shift()
arr.pop()
(3)灵活删除或添加数组的元素
splice(删除位置的数组下标,删除几个元素 )
arr.splice(4,1)
splice(要添加元素的位置的数组下标 ,0,添加的元素)
arr.splice(4,0,"zhangsan")
(4)合并 (连接两个或多个 数组,并且返回结果)
let arr2=[666,777]
let arr3=arr.concat(arr2)
(5)连接(把数组中的所有元素放到一个字符串中,并可以指定连接符 ,不影响原来数据)
let arr4=arr.join("*")
(6)翻转
arr.reverse()
(7)截取(从第几个开始截取)
arr.slice(4)
(8)排序
let b=["a","c","b","c","c"]
let c=b.sort()
(9)返回对象的值
c.valueOf()
(10)返回下标(返回第一个或最后一个所需元素的下标)
alert(c.indexOf("c"))
alert(c.lastIndexOf("c"))
7、Math
(1)e的值
console.log(Math.E)
(2)π的值
console.log(Math.PI)
(3)
console.log(Math.SQRT2)
(4)向下取整
let a=-3.666664
console.log(Math.floor(a))
(5)向上取整
console.log(Math.ceil(a))
(6)取绝对值
console.log(Math.abs(a))
(7)取最大值或最小值
console.log(Math.max(1,2,3,4,22))
console.log(Math.min(1,2,3,4,22))
(8)取随机数
console.log(Math.random())
(9)四舍五入
console.log(Math.round(3.14))
(10)开平方根
console.log(Math.sqrt(9))
(11)幂次方(第一个数是底数,第二个数是指数)
console.log(Math.pow(9,2))
8、break、continue:
break:跳出整个循环
continue:跳出本次循环,直接开始下一次循环
周三笔记
1、date:
获取当前时间对应的时间对象
let date=new Date()
年
let year=date.getFullYear()
月
let month=date.getMonth()+1
日
let day=date.getDate()
时
let hour=date.getHours()
分
let min=date.getMinutes()
秒
let s=date.getSeconds()
星期
let week=date.getDay()
毫秒
let ms=date.getMilliseconds()
时间戳 (1970-1-1 0:0:0到当前时间对应的毫秒数)
let tt=date.getTime()
2、字符串对象:
(1)'' "" ``
(2)String:
let str1=new String("zhangsan")
let str2=String("nhjcxy")
(3)length:(返回字符串的长度)
console.log(str1.length)
3、字符串的方法:
(1)获取下标对应的字符
let str="nanhangjincheng"
console.log(str.charAt(4))
(2)从左到右找到第一个或最后一个满足这个字符的下标
console.log(str.indexOf("a"))
console.log(str.lastIndexOf("a"))
(3)拼接字符串
let str1="nanhang"
let str2="jincheng"
let str3=str1.concat(str2)
console.log(str3)
(4)正则匹配 (匹配到字符串中想要的内容)
let a=str.match(/a/g)
console.log(a)
(5)正则替换
alert(str.replace(/a/g,"-------"))
(6)截取一段
console.log(str.slice(2,4))
(7)分割字符串 (按照特定的符号分割字符串)
let str4="nanhang jincheng"
console.log(str4.split(" "))
(8)拼接
let b1=str4.split("")
console.log(b1.join(""))
(9)转大小写
console.log(str.toUpperCase())
console.log(str.toLowerCase())
4、函数:(函数就是 一段具有独立功能的代码的集合)
function 函数名(参数){
代码块
}
function getSum(a,b){
alert(a+b)
return a+b
}
let num=getSum(1,2)
consloe.log(num)
注:函数提升(函数在声明之前可以调用,但必须有声明)
5、值传递、引用传递:
(1)值传递:
let a=1
let b=2
function change(num1,num2){
num1+=2
num2+=2
}
change(a,b)
console.log(a)
console.log(b)
注:只将1和2的值复制一份传递
(2)引用传递:
let arr=[1,2,3,4]
function change(num1){
num1.push(100)
}
change(arr)
console.log(arr)
6、作用域:(名字生效的范围)
(1)全局作用域
(2)函数作用域(局部变量)(弹栈)
7、函数作为参数进行传递:
function a(){
console.log("我是函数a:")
}
function b(){
fn()
console.log("我是函数b:")
}
b(a)
8、默认值参数:(默认值参数放在所有参数的最后面)
function a(r,PI=3.14){
alert(PI*r*r)
}
a(3)
9、arguements对象:(接收用户传进来的所有数据)
function getSum(){
let sum=0
for(let i in arguments){
sum+=arguments[i]
}
return sum
}
let a=getSum(1,2,3,34,859,93)
console.log(a)
10、匿名函数:
function (){
函数块
}
11、箭头函数 :
let fn=(x)=>x+5
alert(fn())
let myFn=(x,y)=>{
let z=2
return (x+y)*z
}
alert(myFn(1,2))
12、递归:(函数自身调用自身)(要有递归出口)
function jieCheng(n){
if(n===1){
return 1
}else{
return jieCheng(n-1)*n
}
}
console.log(jieCheng(3))
作业
//1
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function multiply(){
let result=1
for(let i=0;i<arguments.length;i++){
result*=arguments[i]
return result
}
}
</script>
</body>
</html>
//2
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function a(){
let num=[]
let numw7=[]
for(let i=0;i<=100;i++){
if(i%7==0){
num.push(i)
}
if(i.toString().includes('7')){
numw7.push(i)
}
}
return(num,numw7)
}
</script>
</body>
</html>
//3
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function rabbitCount(n) {
if (n <= 0 || n > 20) {
console.log("Invalid input!")
return
}
let rabbits = [1]
for (let i = 1; i < n; i++) {
rabbits.push(rabbits[i - 1] + (i >= 4 ? rabbits[i - 3] : 0));
}
return rabbits[n - 1]
}
console.log(rabbitCount(n))
</script>
</body>
</html>