美文网首页
javaScript作用域和作用域链

javaScript作用域和作用域链

作者: 帅气的刘小二 | 来源:发表于2016-10-19 14:43 被阅读0次

    作用域:变量和函数可以访问的范围,以函数来划分,一个函数一个作用域块。
    1、作用域范围:
    1)、 全局作用域--在任何地方都可以访问。
    —变量或者函数在函数外面声明,那它们就是全局变量和全局函数
    —定义方法:函数外部定义的、定义时不带var直接给变量赋值、window对像上定义的。
    — 作用范围:整个文档。
    之所以全局变量在任何地方都可以访问到,是因为全局变量是window下的属性,window是一个全局对象,它本身在页面中任何位置都可以用,所以说全局变量可以在任何地方用。尽量少使用,因为它一直存在内存中,直到页面关闭时才被释放。
    2)、局部作用域--只有函数内部可以访问。
    -变量或者函数是在函数内部声明的,它们的作用仅存在于声明的这个函数里。
    -函数(函数声明,不是函数调用)可以嵌套的,嵌套的函数(局部函数)可以访问父函数里的内容
    —定义方法:使用var 在函数内部定义的。
    2、作用域链:变量与函数的查找规则。
    查找规则:如果一个函数需要用到一个变量,那它会先在自己的作用域里去找这个变量。如果自己有那它就直接使用自己的,如果自己没有,那它就会一层一层往外找,直到找到外面的变量,找到后就用外面的变量。

    相关文章

      网友评论

          本文标题:javaScript作用域和作用域链

          本文链接:https://www.haomeiwen.com/subject/vnftuttx.html