for model in models:
print(str(model))
pprint(model.docvecs.most_similar(positive=["Machine learning"], topn=20))
未定义打印
var name="prevName";
function printName(){
console.log(name);
var name="newName";
}
printName();
打印prevName
我不明白为什么
可以请任何人解释为什么吗?
提前谢谢。...
答案 0 :(得分:0)
在第一种情况下,内部var name
(与全局name
不同)将hoisted移到函数顶部。所以和
var name = "prevName";
function printName(){
var name; // name = undefined
console.log(name);
name = "newName";
}
printName();
在第二种情况下,您要处理全局变量。
答案 1 :(得分:0)
JavaScript(和函数声明)中的变量被挂起,即它们的声明在编译时移动,直到其作用域的开始(函数在其in或模块中)。 但是任务并没有被取消。这就是为什么第一个函数打印未定义的原因-局部变量替换了外部变量,但是直到调用日志后才定义它。