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 相关文章推荐
北京奥运官方网站幻灯切换效果flash版打包下载
Jan 30 Javascript
基于jquery的cookie的用法
Jan 10 Javascript
浅谈Javascript鼠标和滚轮事件
Jun 27 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
Apr 02 Javascript
javascript中的括号()用法小结
Apr 14 Javascript
JS操作HTML自定义属性的方法
Feb 10 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
第六篇Bootstrap表格样式介绍
Jun 21 Javascript
BootStrap 表单控件之单选按钮水平排列
May 23 Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 Javascript
Vue 用Vant实现时间选择器的示例代码
Oct 25 Javascript
JQuery发送ajax请求时中文乱码问题解决
Nov 14 jQuery
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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
php强制运行广告的方法
2014/12/01 PHP
php数字运算验证码的实现代码
2015/07/30 PHP
更正确的asp冒泡排序
2007/05/24 Javascript
jquery post方式传递多个参数值后台以数组的方式进行接收
2013/01/11 Javascript
JavaScript1.6数组新特性介绍以及JQuery的几个工具方法
2013/12/06 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
javascript检测浏览器的缩放状态实现代码
2014/09/28 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
AngularJS 2.0入门权威指南
2016/10/08 Javascript
EasyUI学习之DataGird分页显示数据
2016/12/29 Javascript
Bootstrap免费字体和图标网站(值得收藏)
2017/03/16 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
2017/06/21 Javascript
11行JS代码制作二维码生成功能
2018/03/09 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
nodejs中express入门和基础知识点学习
2018/09/13 NodeJs
layui原生表单验证的实例
2019/09/09 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
pygame库实现移动底座弹球小游戏
2020/04/14 Python
Python + Requests + Unittest接口自动化测试实例分析
2019/12/12 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
个性发展自我评价
2014/02/11 职场文书
忠诚教育心得体会
2014/09/03 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
基于Redis位图实现用户签到功能
2021/05/08 Redis
MySQL数据库简介与基本操作
2022/05/30 MySQL
Golang Web 框架Iris安装部署
2022/08/14 Python