js作用域和作用域链及预解析

 更新时间:2019年04月11日 10:09:55   作者:sunlizhen  
这篇文章主要介绍了js作用域和作用域链及预解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

变量---->局部变量和全局变量,

作用域:在某个空间范围内,可以对数据进行读写操作

局部作用域和全局作用域

js中没有块级作用域—一对括号中定义的变量,这个变量可以在大括号外面使用
函数中定义的变量是局部变量
作用域链:变量的使用,从里向外,层层的搜索,搜索到了就可以直接使用了
层层搜索,搜索到0级作用域的时候,如果还是没有找到这个变量,结果就是报错

在 JavaScript 中, 对象和函数同样也是变量。

在 JavaScript 中, 作用域为可访问变量,对象,函数的集合。

JavaScript 函数作用域: 作用域在函数内修改。

JavaScript 局部作用域

变量在函数内声明,变量为局部作用域。

局部变量:只能在函数内部访问。

因为局部变量只作用于函数内,所以不同的函数可以使用相同名称的变量。

局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。

JavaScript 全局变量

变量在函数外定义,即为全局变量。

全局变量有 全局作用域: 网页中所有脚本和函数均可使用。 

如果变量在函数内没有声明(没有使用 var 关键字),该变量为全局变量。

JavaScript 变量生命周期

JavaScript 变量生命周期在它声明时初始化。

局部变量在函数执行完毕后销毁。

函数参数

函数参数只在函数内起作用,是局部变量。

HTML 中的全局变量

在 HTML 中, 全局变量是 window 对象: 所有数据变量都属于 window 对象。

作用域链:从子集作用域返回到父集作用域的过程

局部有能力去改外面(全局)的值

预解析:

预解析:在当前作用域下,js运行之前,会把带有var和function关键字的事先声明,并在内存中安排好。然后再从上到下执行js语句。

预解析只会发生在通过var定义的变量和function上。

以上所述是小编给大家介绍的js作用域和作用域链及预解析详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 微信小程序使用自定义组件导航实现当前页面高亮

    微信小程序使用自定义组件导航实现当前页面高亮

    这篇文章主要介绍了微信小程序使用自定义组件导航实现当前页面高亮,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Javascript数组中push方法用法分析

    Javascript数组中push方法用法分析

    这篇文章主要介绍了Javascript数组中push方法用法,结合实例形式分析了javascript中push方法的原理、使用方法与相关注意事项,需要的朋友可以参考下
    2016-10-10
  • 超轻量级的js时间库miment使用解析

    超轻量级的js时间库miment使用解析

    这篇文章主要介绍了超轻量级的js时间库miment使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • js将json格式的对象拼接成复杂的url参数方法

    js将json格式的对象拼接成复杂的url参数方法

    下面小编就为大家带来一篇js将json格式的对象拼接成复杂的url参数方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • JavaScript实现的搜索及高亮显示功能示例

    JavaScript实现的搜索及高亮显示功能示例

    这篇文章主要介绍了JavaScript实现的搜索及高亮显示功能,涉及javascript字符遍历与页面元素属性相关操作技巧,需要的朋友可以参考下
    2017-08-08
  • JavaScript使用百度ECharts插件绘制饼图操作示例

    JavaScript使用百度ECharts插件绘制饼图操作示例

    这篇文章主要介绍了JavaScript使用百度ECharts插件绘制饼图操作,结合实例形式分析了JavaScript使用百度ECharts插件绘制饼图的原理、步骤及相关操作注意事项,需要的朋友可以参考下
    2019-11-11
  • 让iframe框架网页在任何浏览器下自动伸缩

    让iframe框架网页在任何浏览器下自动伸缩

    很多朋友都在使用iframe中遇到过不能自动随页面伸缩,特别是动态读取页面的时候,会出现滚动条,影响美观,今天研究一下了,发现了一个简单解决的办法,可以在IE,FIREFOX,OPERA下使用
    2006-08-08
  • JS实现字符串中去除指定子字符串方法分析

    JS实现字符串中去除指定子字符串方法分析

    这篇文章主要介绍了JS实现字符串中去除指定子字符串方法,结合实例形式分析了javascript使用字符串替换与分割、聚合两种子字符串去除相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • JS实现仿百度文库评分功能

    JS实现仿百度文库评分功能

    本文给大家分享基于js实现仿百度文库评分功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-01-01
  • JavaScript中发布/订阅模式的简单实例

    JavaScript中发布/订阅模式的简单实例

    这篇文章主要介绍了JavaScript中发布/订阅模式的简单实例,本文给出了一个简单易懂的实现代码,比较容易理解,需要的朋友可以参考下
    2014-11-11

最新评论