传智播客视频学习笔记(JS基础)

1,调试

写代码--打开浏览器--F12(开发人员工具)--Sources--双击文件,在某一行代码前面点击一下(出现的东西就是断点)

例:

2.全局变量和局部变量的区别

块级作用域:一对大括号就可以看成是一块,在这块区域中定义的变量,只能在这个块中使用,但是在js中在这个块级作用域中定义的变量,外面也能使用。

说明:js没有块级作用域。

全局变量:生命的变量是使用var声明的,那么这个变量就是全局变量,全局变量可以再页面的任何位置使用,只要是在函数外面声明的变量,都可以看成或理解成全局变量

除了函数以外,其他的任何位置定义的变量都是全局变量。全局变量,如果页面不关闭,那么久不会释放,就会占空间,消耗内存。 

全局作用域:全局变量的使用范围,在任何位置都可以使用

局部变量:在函数内部定义的变量,是局部变量,外面不能使用

局部作用域:局部变量的使用范围,只能在某个地方使用--函数内

隐式全局变量:生命的变量没有var,就叫隐式全局变量

作用域链:在一个函数中使用一个变量,先在该函数中搜索这个变量,找到了则使用,找不到则继续向外面找这个变量,找到则使用,一直找到全局作用域,找不到则是undefined

全局变量是不能被删除的,隐式全局变量是可以被删除的,定义变量使用var是不会被删除的,没有var是可以删除的

3,作用域链

4,预解析:就是在执行代码之前,把变量的声明提前了,提前到当前所在的作用域的最上面,把函数的声明也会提前,提前到当前所在的所在的作用域的最上面(里面)。

预解析中,变量的提升,只会在当前的作用域中提升,提前到当前的作用域的最上面

函数中的变量只会提前到函数的作用域中的最前面,不会出去

预解析会分段(多对的script标签中函数重名,预解析的时候不会冲突)

预解析小例子:


                    

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部