数组
<script>
let arr = ['gouxin', 'zs', 'ls', 'wmz', 1, 2, 3]
arr[1] = '显眼包'
console.log(arr[1])
let arr2 = new Array()
常用的数组操作
push() 向数组末尾添加一个或多个元素的
arr.push(100, 22, 33, 'gouxinsimida')
console.log(arr)
pop() --- 删除并返回数组的最后一个元素
shift() --- 删除并返回数组的第一个元素
splice() --- 删除元素 两个参数的时候,第一个参数代表要删除的元素的位置,第二个参数代表要删除几个
splice() --- 添加元素:第二个参数为0
concat() --- 连接两个或者多个数组的,并返回结果
join() --- 把数组中所有的元素放在一个字符串里边,元素通过指定的分隔符进行拼接
reverse() --- 颠倒数组中元素的顺序 原来的数组改变
sort() --- 对数组的元素进行排序 按照utf码进行排序
函数 --- 完成特定功能的代码块 精简代码、提高复用率
函数的声明方式 function 函数名(){代码块}
函数声明完成后,必须进行调用才能执行
调用 函数名()
函数传参
函数小括号里用于接受实参的叫做形参
function sayHi(msg) {
console.log(`用户说:${msg}`)
函数调用时,传进去的参数,叫做实参
sayHi('今天天气真好,狂风暴雨')
求和函数
function getSum(a, b) {
console.log(a + b)
}
getSum(2, 3)
函数返回值
函数没有返回值,默认返回undefined return 结束函数的作用,之后的代码不会再执行
值传递和引用传递
将自身的值传进函数
let a = 11
let b = 22
function change(x, y) {
x = 21
y = 33
}
change(a, b)
console.log(a, b)
数组:引用数据类型,将自己的地址传递给函数
let arr = [1, 2, 3, 4, 5]
function change2(arr) {
arr.push(100)
}
change2(arr)
console.log(arr)
默认值参数
默认值参数:在形参的最后
function area(r, PI = 3.14)
Arguments伪数组
匿名函数 --- 没有名字的函数
作用域
一段代码中所用到的名字不是一直有效且可用的,而限制这个名字可用范围就是这个名字的作用域
减少名字冲突,不同作用域之间相互不影响
全局作用域 --- script里边,函数外边声明的变量
值传递和引用传递
默认值参数,在形参的最后
递归
闭包
Functionouter(){
Let money = 100
Funcition inner(){
Console.log(money)
对象 --- 无序的数据集合(无下标)
声明方法: let 对象名={} let 对象名=new Object()
对象:属性和方法 属性:信息或者特征 方法:行为或者动作 打电话、玩游戏…
// 查:对象名.属性名
console.log(obj.age)
console.log(obj.uname)
// 查找2.0 对象名['属性名']
console.log(obj['gender'])
// 增 对象.新属性=属性值
obj.like = '王者荣耀'
// 改
obj.uname = 'zs'
// 删
delete obj.gender
console.log(obj)
// 对象方法怎末去调用 对象名.方法名()
obj.sing()
math模块
时间模块
<script>
Let date = new date()
Console.log(date)
new关键字就是在实例化
Function getTime(){
Let y = date.getFullyear()
Let m = date.getMonth()
Let d = date.getDate()
Let hh = date.getHours()
Let mm = date.getMinutes()
Let ss = date.getSeconds()
Let week = date.gatDay()
Ruturn y,m,d,hh,mm,ss
Return '${年}-${月}-${日} ${hh}:${mm}:${ss} 星期${week}'
补零:
M =m < 10 ? `0` + m : m
d =d < 10 ? `0` + d : d
hh =hh < 10 ? `0` + hh : hh
mm =mm < 10 ? `0` + mm : mm
ss =ss < 10 ? `0` + ss : ss
字符串对象
构造函数
若是这样构造较为繁琐
构造函数的基本格式 --- 可当模板
Function obj(uname,age){
This.uname=uname,
This.age=age,
This.sing=function(){
Console.log(`我要唱歌了`)
}
}
原型对象
获取元素
1、通过css选择器获取 document.querySelector只获取满足条件的第一个元素对象
// document.querySelector('css选择器')
const btn = document.querySelector('button')
// console.log(typeof (btn))
console.dir(btn)
const li = document.querySelector('ul li')
console.log(li)
// document.querySelectorAll将所有的满足条件的元素对象获取并保存至伪数组
const lis = document.querySelectorAll('ul li')
console.log(lis)
2、class名
let box = document.getElementsByClassName('box')
console.log(box)
3、标签名
let input = document.getElementsByTagName('input')
console.log(input)
4、id
修改dom元素内容
<div>我是一个盒子</div>
<script>
// 1、获取元素
let div = document.querySelector('div')
// 2、修改元素内容
// 1、innerText() 无法识别标签
div.innerText = `<h1>我被修改过</h1>`
// 2、innerHtml() 可以识别标签 (热烈推荐)
div.innerHTML = '<h1>我又又又被改了</h1>'
</script>