1. 立即执行函数:
(function () { console.log("666") })();
(function () { console.log("777") }());
2. 闭包:(让外部访问到变量,并让变量一直存储在内存中)
function outer() {
let money = 5000
function inner() {
console.log(money)
}
return inner
}
let fn = outer()
fn()
结果:5000
3. json对象:(把无数个繁杂的属性封装成一个整体的容器)
1、json对象的定义:键值对的形式 key:value
json对象的键必须带双引号
let stu = {
"uname": 'ikun',
"age": 23,
"score": 100,
"sing": function () {
console.log("sing~~~")
},
"rap": function () {
console.log("rap~~~")
}
}
console.log(stu)
2、读取对象的属性:
分量运算符(对象名.属性名)
console.log(stu.uname)
stu.rap()
下标法(对象名[索引的值])
console.log(stu["age"])
stu["rap"]()
添加(对象名.新的属性名=属性值)
stu.gender = "M"
改(对象名.已有的属性名=属性值)
stu.uname = "zhangsan"
json的遍历(for in)
for (let i in stu) {
console.log(i)
console.log(stu[i]) 下标法
}
4. json进阶:
let data = {
"info": "学生的三门成绩",
"score": [
{
"kemu": "语文",
"score": 77
},
{
"kemu": "数学",
"score": 21
},
{
"kemu": "英语",
"score": 33
}
]
}
console.log(data.score[1].kemu) 数学
5. 定时器:(让某一个函数或者某一段代码(代码加'')在多少毫秒之后执行)
setTimeout(func|code,delay)
function fn() {
console.log("666")
}
setTimeout(fn, 2000) 函数
setTimeout('console.log("666")', 2000) 代码
setTimeout((a, b) => {
console.log(a + b)
}, 2000, 2, 5) 2,5会在2000毫秒之后函数执行时,作为参数传递给函数的形参
定时器会返回一个整数,作为定时器的编号,
通过定时器编号,清除定时器:
let a = setTimeout(func|code,delay)
clearTimeout(a)
6. 定时器+
setInterval(func|code,delay) 每隔几毫秒执行一次
clearInterval(a)
7. this:(谁调用指向谁)
let obj = {
x: 2,
y: 4,
fn: function () {
console.log(this.x)
console.log(this)
}
}
window.setTimeout(function () { obj.fn()
}, 2000)
bind()绑定this的指向:
setTimeout(obj.fn.bind(obj), 2000)
8. 随机数:
console.log(Math.random())
console.log(Math.round(Math.random() * 10)) 0-10之间的整数
console.log(Math.round(Math.random() * 5) + 1) 1-6之间的整数
最小值和最大值之间的随机数:
function getRandom(min, max) {
if (max > min) {
return Math.round(Math.random() * (max - min) + min)
}
else {
return "你疯了把"
}
}
console.log(getRandom(10, 20))
9. 获取元素:(通过css选择器获取元素对象)
const(常量) box = document.querySelector(".box")
const li = document.querySelector("ul li") 获取第一个
const li = document.querySelectorAll("ul li") 获取所有
console.log(document.getElementById("li3")) Id名获取
console.log(document.getElementsByClassName("box")) 类名获取
console.log(document.getElementsByTagName("li")) 标签名获取
10. 元素对象内容:
1、获取元素对象
2、更改(添加)
box.innerText = `<h1>你是一个盒子</h1>` 只识别文本,不识别标签
box.innerHTML = `<h1>你是一个盒子</h1>` 识别标签
11. 更改元素对象的属性:(对象.属性=值)
<img src="../images/1.jpg" alt="" title="">
<input type="password" name="" id="">
<button disabled>点击</button>
1、获取元素
2、更改src属性
img.src = "../images/2.jpg"
img.title = "你是一个好人"
ipt.type = "text"
btn.disabled = false