JS关于全局变量的问题

1 什么是全局变量 全局变量就是在任何函数外面声明的或是未声明直接简朴使用的,全局工具有个附加属性叫做window,此window(通常)指向该全局工具自己,使用过多的全局变量会造成代码可读性降低,...

1 什么是全局变量

全局变量就是在任何函数外面声明的或是未声明直接简朴使用的,全局工具有个附加属性叫做window,此window(通常)指向该全局工具自己,使用过多的全局变量会造成代码可读性降低,全局变量所占内存较大


2 解决隐含的全局变量

为什么会不自觉地建立出全局变量,首先,你可以甚至不需要声明就可以使用变量;第二,JavaScript有隐含的全局观点,意味着你不声明的任何变量都市成为一个全局工具属性,下面的两个例子很好的体现了

1、变量一定要用var 声明

function sum(x, y) {
  //这样写会隐含全局变量  result
   result = x + y;
   return result;
}

//准确的写法
function sum(x, y) {
   var result = x + y;
   return result;
}

//这样当你挪用这个函数时,写也会生出全局变量b
function foo() {
   var a = b = 0;
   // ...
}
// 准确的写法
function foo() {
   var a, b;
   // ... a = b = 0; // 两个均局部变量
}

 2、隐含的全局变量跟var函数建立的区别

// 界说三个全局变量
var global_var = 1;
global_novar = 2; // 反面教材,纰谬的
(function () {
   global_fromfunc = 3; // 反面教材。纰谬的
  }());
// 试图删除
delete global_var; // false
delete global_novar; // true
delete global_fromfunc; // true

//隐式全局变量并不是真正的全局变量,但它们是全局工具的属性。属性是可以通过delete操作符删除的,而变量是不能的:


思源资源网:分类流动

1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各种产物的最新流动,优惠券领取点击进入

3.广告同盟: 整理了现在主流的广告同盟平台,若是你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/3896

  • 发表于 2021-02-11 16:59
  • 阅读 ( 199 )
  • 分类:互联网

0 条评论

请先 登录 后评论
刘洋
刘洋

658 篇文章

你可能感兴趣的文章

相关问题