JS中全局变量怎么变成局部变量?

MVC思想

全局变量之间会相互骚扰。所以在代码中不要用全局变量。ES6之前只有函数里面有全局变量。

全局变成局部变量怎么变?

--把代码块放在一个函数如中,再.call()执行一下这个函数?行不行?

--不行,这样的话函数名也是一个全局变量(全局函数)。

--那么,去掉函数名把函数变成一个匿名函数?再function(){}.call()立即执行,这样可以,但是Chrome报错,语法错误。

全局变量变局部变量的方法:

  • 方法一:!function(){}.call()    (前面加+、-、!都可以,这种方法会改变函数的返回值,但是不在乎这个函数的返回值的话加个取反没有关系)
  • 方法二:(function(){}).call( (用括号把函数括起来。但是不推荐这种做法,因为如果(函数)的前一行被加上一个xxx,很容易被浏览器误解为是在xxx()。)

猜你喜欢

转载自www.cnblogs.com/nolaaaaa/p/9175320.html