这条线
var post = post + 10;
是罪魁祸首.Javascript有一个名为hoisting的行为,这实际上意味着您的变量总是在作用域的顶部声明.
所以在你的代码中,会发生以下情况:
var post = 10; function load_more(str) { var post; // `post` is now undefined //...other code post = post + 10; // undefined + 10 evaluates to NaN }
我希望你能看到,因为post
在函数的开头是重新定义的,post
就是undefined
当你使用它时post + 10
,导致post = post + 10
求值NaN
(自undefined + 10
评估到NaN
).
要解决您的问题,只需var
从前面删除:
post = post + 10;
要么:
post += 10;