JS作用域链详解


Posted in Javascript onJune 26, 2017

本文实例为大家分享了JS作用域链的相关内容,供大家参考,具体内容如下

1、所有全局变量和函数都是作为window对象的属性和方法创建的。

2、在某个方法函数的作用域中,所有代码执行完之后,该作用域被销毁,保存在其中的所有变量和函数定义也会随着被”销毁“,这就是局部作用域。但闭包不会销毁局部变量。

这里的销毁:是指下次再执行此函数的时候,所有的变量又回到最初的状态

var color = "blue";
function changeColor(){
var anothercolor = "red";
  if(color==="blue"){
    color = anothercolor;
  }
        //这里可以访问anothercolor,color
         
}
    //这里只可以访问color
changeColor();
console.log(color);//red
console.log(anothercolor);

// undefined。anothercolor是函数changeColor的局部变量,在整个函数运行之后已经被“销毁”

3、变量的声明注意点

function ddq(){

 alert(i)
var i=11
 alert(i)
 
}
ddq()
// 第一个返回underfind
//第二个返回11

这段代码相当于

function ddq(){
 var i
 alert(i)
 i=11
 alert(i)
 
}
ddq()

注意点:在一个函数内部的声明变量时(在调用之后),就相当于先申明,调用后赋值。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript hasOwnProperty 方法 & in 关键字
Nov 26 Javascript
Js-$.extend扩展方法使方法参数更灵活
Jan 15 Javascript
javascript:;与javascript:void(0)使用介绍
Jun 05 Javascript
JS随机生成不重复数据的实例方法
Jul 17 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
Jan 07 Javascript
jquery选择器之基本过滤选择器详解
Jan 27 Javascript
JavaScript中的迭代器和生成器详解
Oct 29 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
Nov 05 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
javascript中undefined的本质解析
Jul 31 Javascript
浅谈Vue的computed计算属性
Mar 21 Vue.js
jQuery.Form实现Ajax上传文件同时设置headers的方法
Jun 26 #jQuery
纯JS实现简单的日历
Jun 26 #Javascript
vue2.0全局组件之pdf详解
Jun 26 #Javascript
JavaScript创建对象的七种方式(推荐)
Jun 26 #Javascript
基于 webpack2 实现的多入口项目脚手架详解
Jun 26 #Javascript
JavaScript的六种继承方式(推荐)
Jun 26 #Javascript
JavaScript数据类型和变量_动力节点Java学院整理
Jun 26 #Javascript
You might like
德生PL990的分析评价
2021/03/02 无线电
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【一】
2016/05/10 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
JS实现transform实现扇子效果
2020/01/17 Javascript
JavaScript隐式类型转换代码实例
2020/05/29 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
Python列表list数组array用法实例解析
2014/10/28 Python
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
Python 12306抢火车票脚本
2018/02/07 Python
Python函数参数操作详解
2018/08/03 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
2020/01/08 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
利用python进行文件操作
2020/12/04 Python
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
服务理念口号
2014/06/11 职场文书
纪念九一八事变演讲稿:牢记历史,捍卫主权
2014/09/14 职场文书
机械专业毕业生自我鉴定2014
2014/10/04 职场文书
2015年卫生院健康教育工作总结
2015/07/24 职场文书
《落花生》教学反思
2016/02/16 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL