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 乱码问题
Aug 06 Javascript
Three.js源码阅读笔记(光照部分)
Dec 27 Javascript
jQuery+jRange实现滑动选取数值范围特效
Mar 14 Javascript
Bootstrap实现水平排列的表单
Jul 04 Javascript
使用JavaScript判断手机浏览器是横屏还是竖屏问题
Aug 02 Javascript
AngularJS基础 ng-open 指令简单实例
Aug 02 Javascript
Node+Express+MongoDB实现登录注册功能实例
Apr 23 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
Jun 12 Javascript
JavaScript面向对象精要(下部)
Sep 12 Javascript
把vue-router和express项目部署到服务器的方法
Feb 21 Javascript
vue form check 表单验证的实现代码
Dec 09 Javascript
微信小程序template模板与component组件的区别和使用详解
May 22 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
php5数字型字符串加解密代码
2008/04/24 PHP
新安装的MySQL数据库需要注意的安全知识
2008/07/30 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
抛弃 PHP 代价太高
2016/04/26 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
Convert Seconds To Hours
2007/06/16 Javascript
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
javascript 处理HTML元素必须避免使用的一种方法
2009/07/30 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
ANGULARJS中用NG-BIND指令实现单向绑定的例子
2014/12/08 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
seajs模块之间依赖的加载以及模块的执行
2016/10/21 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
2018/01/11 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
Django中的Signal代码详解
2018/02/05 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
戴森香港官方网站:Dyson香港
2021/02/11 全球购物
2014年学生会工作总结
2014/11/07 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
运动会广播稿200字
2015/08/19 职场文书
详解Python小数据池和代码块缓存机制
2021/04/07 Python
tomcat下部署jenkins的方法
2022/05/06 Servers