<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div id="box">1231</div>
<script>
// console.log(fn())
// 普通函数
function fn() {
console.log('你好')
}
// console.log(fn1)
// 匿名函数
var fn1 = function () {
console.log('匿名函数,也叫函数表达式')
}
// 函数中的不定参-伪数组
function fn3() {
console.log(arguments[2])
}
fn3(1, 2, 3, 54, 'wqeq', {});
console.log(fn3.name)
console.log('*********************************')
var obj = {
run: function () {
console.log('奔跑吧!', this)
}
}
obj.run() // 方法
console.log('*********************************')
; (function (win, doc) {
var name = 'myJq'
win.$ = function (name) {
// 如果name有#说明是获取id元素,否则是获取class元素
if (name.indexOf('#') !== -1) {
return document.getElementById(name.replace('#', ''))
} else {
return document.getElementsByClassName(name.replace('.', ''))
}
}
// console.log('以前很多插件是这样封装的,比如jq')
})(window, document);
(function run() {
console.log(123)
}());
console.log('*********************************');
// 1. 登录请求只能获取到一个用户id
// 2. 用id请求账号信息接口,得到用户信息
// 3. 用idi请求余额接口
// ...
function myAjax(url, data, fn) {
// 发起第二个请求
$.ajax({
url: url,
data: data,
success: function (data) {
// 调用回调函数
fn(data)
},
error: function () {
fn(data)
}
})
}
// 回调地狱
/* myAjax('http://ssss',{}, function(data) {
myAjax('http://xxxxx', {}, function (data) {
myAjax('htt:xxxx', {}, function(data) {
})
})
}) */
// 当用户使用定时器完成一件事之后,我要打印一个消息
function run(fn) {
setTimeout(() => {
fn('我做完了这件事')
}, 5000)
}
run(function (msg) {
console.log(msg)
})
</script>
</body>
</html>