五:需求:有一个提供数据的函数,现在要求调用这个函数,能够实现不同需要时的渲染
回顾回调函数,且理解为什么需要回调函数
- 用户可以自行决定数据应该如何进行渲染
- 数据现在固定死,可以自行模拟
- 有一个模拟数据:只有这个方法可以获取到数据,但是它不能决定数据如何渲染
- 方法只是来获取数据的
- 渲染方式方法并不能决定:调用者需要告诉我应该如何渲染
- 我有数据啊,但是我不知道应该如何渲染
- function getData(callback) {
-
let arr = [123, 12, 3, 234, 34, 54, 64, 6] -
需要对数组进行渲染:可以使用任意结构进行渲染 -
callback(arr) // 实参 - }
- 现在用户需要调用这个方法获取到数据,并进行渲染
- 传递的回调参数就是数据的渲染方式
- 调用方法之前,我们必须知道这个方法能给我们提供什么数据
- 至少我们应该可以知道获取到的数据的基本格式
// 如果我有数据,我会这样渲染
function render(arr) {
// 形参
let str = ''
// 用户自行决定渲染方式
arr.forEach(function(value, index) {
str += `<li>${value}</li>`
})
document.querySelector('ul').innerHTML = str
}
getData(render)