2 回答
TA贡献1856条经验 获得超17个赞
您的错误是因为在定义函数之前调用了该函数。该代码是从上到下阅读的,因此在定义它之前,不能使用任何变量或函数。
const todos = getSavedTodos() //<-- Move this to after you defined the function
const filters = {
search: '',
hideFalseStates: false
}
const getSavedTodos = function(){
const todoJSON = localStorage.getItem('todo')
if(todoJSON !== null) {
return JSON.parse(todoJSON)
}
}
TA贡献1828条经验 获得超13个赞
在定义它之前,您正在使用它。
您有两种选择:
在使用之前,只需将定义上移至:
const getSavedTodos=function(){
const todoJSON=localStorage.getItem('todo')
if(todoJSON!==null)
{
return JSON.parse(todoJSON)
}
}
const todos = getSavedTodos()
const filters={
search: '',
hideFalseStates: false
}
使用函数声明而不是函数表达式,因为它们已被提升(它们在逐步评估代码之前得到评估):
const todos = getSavedTodos()
const filters={
search: '',
hideFalseStates: false
}
function getSavedTodos(){
const todoJSON=localStorage.getItem('todo')
if(todoJSON!==null)
{
return JSON.parse(todoJSON)
}
}
添加回答
举报