当前位置 主页 > 网站技术 > 代码类 >

    JavaScript 作用域实例分析

    栏目:代码类 时间:2019-10-05 21:02

    本文实例讲述了JavaScript 作用域。分享给大家供大家参考,具体如下:

    JavaScript  作用域

    1. JavaScript 以函数作为作用域

    JavaScript: 以函数做为作用域

    function func(){  if(1==1){    var name = 'xsk'  }  console.log(name);}func()

    2. 函数作用域在函数未被调用之前,已经创建

    JavaScript:函数作用域提前创建

    function func(){  if(1==1){    var name = 'xsk'  }  console.log(name);}

    3. 函数的作用域在作用域链,并且也是在被调用之前创建

    JavaScript:作用域链提前创建

    示例一:

    xo = "xsk";function func(){  var xo = "miy"  function inner(){    var xo = "nn"    console.log(xo)  }  inner()}func()// 输出 nn

    示例二:

    xo = "xsk";function func(){  var xo = "miy"  function inner(){    console.log(xo)  }  return inner;}var ret = func()// 输出miy// ret 相当于 inner()函数

    示例三:

    xo = "xsk";function func(){  var xo = "miy"  function inner(){    console.log(xo)  }  var xo = "tony"  return inner;}var ret = func()ret()// 输出tony

    :作用域嵌套作用域被称为作用域链。

    :查找变量会优先在本地作用域找,没有在跳到下一级。

    4. 函数内局部变量提前声明

    JavaScript:函数局部变量提前声明

    示例一:

    function func(){  console.log(xxoo);}func();// 报错

    示例二:

    function func(){  console.log(xxoo);  var xxoo = 'xsk'}func();// 输出 undefined// 函数执行顺序,谁在前面谁执行

    (1)、JavaScript 当创建一个函数时,会自动生动生成作用域链。

    (2)、生成作用域的同时会找到所有的局部变量提前声明。(var 变量名)

    (3)、为赋值的局部变量默认为undefined。

    更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》

    希望本文所述对大家JavaScript程序设计有所帮助。