博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js随笔-变量作用域
阅读量:4353 次
发布时间:2019-06-07

本文共 789 字,大约阅读时间需要 2 分钟。

1.函数中定义的变量只在函数中起作用,所以两个函数定义相同的变量互不影响

function fun(){  var i=0}console.log(i);//i is not defined

2. 函数中内嵌函数时,内部的函数可以访问外部函数的变量,外部函数则不能访问内部的变量

function fun(){  var i=0;  function fun2(){     var j=1;     console.log(i);  }  fun2();}fun();//0

  

function fun(){  var i=0;  console.log(j)  function fun2(){     var j=1;     console.log(i);  }  fun2();}fun();//j is not defined

3.当内部函数与外部函数定义同样的变量的时候,内部函数会把外部函数的变量覆盖掉,所以变量查找,都会先在当前作用域中查找,如果找不到会不停的向上查找,最后如果在全局作用域中也没有找到,则报ReferenceError错误。

4.因为js会提升变量声明,不会提升变量赋值,因此在变量声明前使用变量也不会报错,因此最好在函数内部首先申明所有变量

5.减少命名冲突的办法,是把所有的变量和方法都绑定到自己的全局变量上

// 唯一的全局变量MYAPP:var MYAPP = {};// 其他变量:MYAPP.name = 'myapp';MYAPP.version = 1.0;// 其他函数:MYAPP.foo = function () {    return 'foo';};

6.let可以声明一个块级作用域,const可以定义常量  

转载于:https://www.cnblogs.com/Anne3/p/7110584.html

你可能感兴趣的文章
hdu1814 Peaceful Commission 2-sat
查看>>
网站前端的收藏
查看>>
present的时候是可以直接回到第一个viewcon的
查看>>
关于安卓布局调试工具-hierarchyviewer
查看>>
顶级jQuery树插件
查看>>
操作系统Linux
查看>>
【php增删改查实例】第五节 - easyUI的基本使用
查看>>
python爬虫
查看>>
有效管理时间的十八种方法
查看>>
GNU与GPL
查看>>
龙贝格求积
查看>>
H3C-端口镜像
查看>>
修改vs2013中MFC项目名称
查看>>
GDKOI2018发烧记
查看>>
Web API-路由(二)
查看>>
一些被忽略掉的面试题
查看>>
《大道至简》第三章读后感
查看>>
JavaScript中的ActiveXObject对象
查看>>
关于js foreach map
查看>>
ngRoute (angular-route.js) 和 ui-router (angular-ui-router.js) 模块有什么不同呢?
查看>>