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 相关文章推荐
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
Dec 16 Javascript
JavaScript实现cookie的写入、读取、删除功能
Nov 05 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
Sep 09 Javascript
JavaScript仿微博输入框效果(案例分析)
Dec 06 Javascript
jQuery网页定位导航特效实现方法
Dec 19 Javascript
vue-router跳转页面的方法
Feb 09 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
Mar 26 Javascript
关于layui 弹出层一闪而过就消失的解决方法
Sep 09 Javascript
p5.js码绘“跳动的小正方形”的实现代码
Oct 22 Javascript
6种JavaScript继承方式及优缺点(小结)
Feb 06 Javascript
nuxt 每个页面head标签内容设置方式
Nov 05 Javascript
vue 实现element-ui中的加载中状态
Nov 11 Javascript
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
linux iconv方法的使用
2011/10/01 PHP
PHP 反射(Reflection)使用实例
2015/05/12 PHP
Laravel中如何增加自定义全局函数详解
2017/05/09 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
js抽奖实现随机抽奖代码效果
2013/12/02 Javascript
js 跳出页面的frameset框架示例介绍
2013/12/23 Javascript
JS显示表格内指定行html代码的方法
2015/03/31 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
chrome浏览器当表单自动填充时如何去除浏览器自动添加的默认样式
2015/10/09 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
jQuery的ztree仿windows文件新建和拖拽功能的实现代码
2018/12/05 jQuery
详解vue中移动端自适应方案
2019/05/05 Javascript
详解nginx配置vue h5 history去除#号
2020/11/09 Javascript
python检测远程端口是否打开的方法
2015/03/14 Python
详解python中asyncio模块
2018/03/03 Python
python用match()函数爬数据方法详解
2019/07/23 Python
在Django admin中编辑ManyToManyField的实现方法
2019/08/09 Python
Tensorflow实现多GPU并行方式
2020/02/03 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
python元组拆包实现方法
2021/02/28 Python
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
单位介绍信范文
2014/01/18 职场文书
农民工工资承诺书范文
2014/03/31 职场文书
应届毕业生求职信范文
2014/07/07 职场文书
自愿离婚协议书范本
2015/01/26 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers