1.省略var后,变量拥有全局作用域
自己在看书时,看到如果在函数里省略var关键字,那么变量会自动拥有全局作用域。
function showScope(){
scope='local';
return scope;
}
console.log(scope);//报scope未定义的错
这里,自己在showScope函数里定义了一个变量,未用scope,函数外却找不到,后来发现因为函数刚开始是不运行的,只有在调用一次之后里面的代码才执行,因此自然直接去输出scope会报错。
所以这里有一个小坑就是要先调用函数一次才能用这个全局的变量。而且如果之前已经有一个全局的scope变量,调用showScope函数后,’local’赋给scope,实际上是又重新改变了scope的值。
function showScope(){
scope='local';
return scope;
}
console.log(showScope());//local
console.log(scope);//local
2.编辑器从Sublime Text转到WebStorm后
编辑器从Sublime Text转到WebStorm后,发现浏览器地址栏由之前的file:///…变成了localhost:63342/…,而且webstorm下相对路径访问设定的webstorm目录的上一层也会报错。
这是因为sublime直接打开页面,而webstorm自带有一个小型服务器,它是通过这个小型服务器打开页面的,设定好webstorm工程目录后,也只能访问目录内的内容,而跳不出这个目录来访问其他内容。
如果想正确访问这个文件,就要把建一个以这个文件或这个文件之上的目录的project,这样再打开这个文件就可以正确打开了。例如,a.html在b文件夹下,在webstorm里new project里选择b文件夹的目录或b文件夹的上层目录,这样就可以用webstorm里浏览器打开a.html