今天备忘的是Variable Declaration and Variable Scope。今天直接上原汁原味的代码例子反而觉得更清楚:

var scope = "global"; // Declare a global variable
function checkscope() {
var scope = "local"; // Declare a local variable with the same name
return scope; // Return the local value, not the global one
}
checkscope() // => "local"

scope = "global"; // Declare a global variable, even without var.
function checkscope2() {
scope = "local"; // Oops! We just changed the global variable.          最重要的是这里,在函数体内没使用var,则修改的是全局变量。
myscope = "local"; // This implicitly declares a new global variable.
return [scope, myscope]; // Return two values.
}
checkscope2() // => ["local", "local"]: has side effects!
scope // => "local": global variable has changed.
myscope // => "local": global namespace cluttered up.

//这里主要讲函数可以嵌套var scope = "global scope"; // A global variable
function checkscope() {
var scope = "local scope"; // A local variable
function nested() {
var scope = "nested scope"; // A nested scope of local variables
return scope; // Return the value in scope here
}
return nested();
}
checkscope() // => "nested scope"

//这个例子很重要,说明了变量声明范围遍布了整个函数体,所以局部变量屏蔽了全局变量,但是注意这里的变量初始化,他发生在声明代码之后的范围,之前的范围是没初始化的。var scope = "global";
function f() {
console.log(scope); // Prints "undefined", not "global"
var scope = "local"; // Variable initialized here, but defined everywhere
console.log(scope); // Prints "local"
}

转载于:https://www.cnblogs.com/Key-Ky/archive/2013/01/03/2842727.html

Javascript_备忘录3相关推荐

  1. 设计模式:备忘录模式??

    定  义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态. 这样以后就可以将该对象恢复到原先保存的状态. 结构图: Originator(发起人):负责创建一个备忘录(Me ...

  2. 设计模式之备忘录模式(Memento)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  3. java备忘录模式应用场景_图解Java设计模式之备忘录模式

    图解Java设计模式之备忘录模式 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss前保存自身的状态(攻击力和防御力),当大战Boss后攻击力和防御力下降,从备忘录对象恢复到大战前的状态. ...

  4. 备忘录吕吕没有备忘录十新建_一份备忘单,可帮助您记住CSS自定义属性

    备忘录吕吕没有备忘录十新建 CSS custom properties, also known as CSS variables, represent custom properties that c ...

  5. bff v2ex_语音备忘录的BFF-如何通过Machine Learning简化Speech2Text

    bff v2ex by Rafael Belchior 通过拉斐尔·贝尔基奥尔(Rafael Belchior) 语音备忘录的BFF-如何通过Machine Learning简化Speech2Text ...

  6. mobile还有人用吗 spring_话说,苹果手机语音备忘录功能还有人用吗?

    hi,各位,苹果手机自带的语音备忘录功能还有人在用吗? 前两天,有小伙伴在后台留言问:"苹果手机语音备忘录怎么恢复?" 小编一时还有些恍惚"它是什么,手机上有吗?&quo ...

  7. 设计模式(行为型模式)——备忘录模式(Memento)

    2019独角兽企业重金招聘Python工程师标准>>> 本章讲讲第三类和第四类. 备忘录模式(Memento) 主要目的是保存一个对象的某个状态,以便在适当的时候恢复对象,个人觉得叫 ...

  8. 《JAVA与模式》之备忘录模式

    备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式. 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象.备忘录模式的用意是在不破坏封装的条件下,将一 ...

  9. Python设计模式-备忘录模式

    Python设计模式-备忘录模式 代码基于3.5.2,代码如下; #coding:utf-8 #备忘录模式 import randomclass gameCharacter():vitality = ...

最新文章

  1. 产品下级分类显示太宽了,请问在哪调整?
  2. 安卓创建快捷方式相关问题 Intent Intent-filter
  3. bbb u-boot 验证 emmc
  4. linux下的一些操作命令
  5. 面向对象 【类库】【委托】【is as运算符】
  6. 【DevCloud·敏捷智库】如何利用用户故事了解需求
  7. 厉害了!《流浪地球》《疯狂的外星人》票房均破10亿元大关
  8. datagrid sortname如何定义多列_如何实现一个小说分页的功能
  9. 如何使用jQuery更改超链接的href
  10. 王者荣耀ai视频战报ai剪辑生成方法
  11. 行业观察(一)| 从渠道为王到数据为王——浅谈服装零售企业的数字化转型
  12. 路由器虚拟服务器 数量,tp-link1660+路由器端口映射的数量有多少
  13. 文通电脑版车牌识别软件,让违章驾车无处可躲
  14. 数字特征值-对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值
  15. 为何奢侈品的受众越来越多
  16. P1443 马的遍历(洛谷)
  17. 各种文件对应的文件类型
  18. 软件测试培训分享:怎么测试一个APP
  19. 公交实时位置查询接口API
  20. 洛谷 P1726 上白泽慧音

热门文章

  1. 【不积跬步,无以致千里】linux下如何查看自己的外网IP
  2. 最容易理解的handler
  3. java 20段常用代码,你绝对用的到(二)
  4. 投上您宝贵的一票,谢谢啦!!
  5. 使用 ADSync 集成 IBM Lotus Domino Directory 和 Microsoft Active Directory
  6. SWFUpload flash上传控件
  7. dpt原来英文是什么_今天才发现!原来微信还可以翻译文字,还不知道就可惜了...
  8. 大数据分析平台的功能有哪些
  9. 大数据分析的流程是怎样
  10. 三招帮你解决物联网卡上不了网问题