作用域+闭包+this理解
函数预解析过程 函数会覆盖同名变量 也就是var 他的优先级高 如果是同名函数则后者覆盖前者
逐行解读代码的时候 表达式 和参数 会改变预解析仓库里面的值。。也就是表达式能干掉函数
域和域之间的关系
<script>标签存在上下文关系 走完上下文标签的变量 下面的可以用上面的
自上而下
函数 json等
子级作用域到父级作用域的过程 叫作用域链 由里到外
当子级找不到变量 会到父级找 如果有表达式的话就会更改全局变量
也就是函数里面没有var
函数调用会触发预解析 因为函数本身就是一个局部域
外部函数如何调用内部函数里面的变量/值
定义一个空的全局变量 然后不定义放进 局部函数里面 让你要的那个变量赋值给自定义的
让局部修改自己定义的那个全局变量 就能获取函数内部的东西
定义一个函数 或者你要用的函数 放进 局部变量 把变量传参出来 派一个函数偷出来
条件判断 不是作用域 for if。。。。
尽量不要在if else for里面定义全局函数等因为 ff浏览器 不兼容
this调用当前函数方法的那个对象 谁动了他他就指向的就是谁
调用方法 事件调用 还有就是空值法 定义以一个空变量。
作用域+闭包+this理解的更多相关文章
- 闭包的理解-from my own opinion
闭包,说起来那么难,其实理解了作用域,那么理解闭包就容易多了. 全局环境,局部环境,这两个概念很好理解了.那么要深入理解下函数的局部环境. 函数的局部环境,也就是说在一个函数内定义的变量,这个变量只能 ...
- javascript中重要概念-闭包-深入理解
在上次的分享中javascript--函数参数与闭包--详解,对闭包的解释不够深入.本人经过一段时间的学习,对闭包的概念又有了新的理解.于是便把学习的过程整理成文章,一是为了加深自己闭包的理解,二是给 ...
- 个人对js闭包的理解
闭包算是前端面试的基础题,但我看了很多关于闭包的文章博客,但感觉很多对于闭包的理想还是有分歧的,现在网上对闭包的理解一般是两种: 有些文章认为闭包必须要返回嵌套函数中里面用到外面函数局部变量的方法 ...
- 我对 javascript 闭包的理解
学js的学到闭包,但是理解不深. 后来看了一下这篇文章: 地址:http://leepiao.blog.163.com/blog/static/4850313020112835355917/ 内容如下 ...
- JS学习之闭包的理解
一.变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域.变量的作用域无非就是两种:全局变量和局部变量.Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量.另 ...
- 对JavaScript闭包的理解
闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现. 在开始了解闭包前我们必须要先理解JavaScript的变量作用域. 一.变量的作用域无非就是两 ...
- 读《你不知道的JavaScript(上卷)》后感-作用域闭包(二)
github原文 一. 序言 最近我在读一本书:<你不知道的JavaScript>,这书分为上中卷,内容非常丰富,认真细读,能学到非常多JavaScript的知识点,希望广大的前端同胞们, ...
- 你不知道的JS之作用域和闭包(五)作用域闭包
原文:你不知道的js系列 一个简单粗暴的定义 闭包就是即使一个函数在它所在的词法作用域外部被执行,这个函数依然可以访问这个作用域. 比如: function foo() { var a = 2; fu ...
- 对JavaScript中闭包的理解
在前端开发中闭包是一个很重要的知识点,是面试中一定会被问到的内容.之前我对闭包的理解主要是"通过闭包可以在函数外部能访问到函数内部的变量",对闭包运用的也很少,甚至自己写过闭包自己 ...
随机推荐
- SQL Server 触发器创建、删除、修改、查看示例
一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发 ...
- Apache实现Web Server负载均衡
修改服务器A上apache的http.conf文件: 首先,加载相应的代理模块,去掉以下模块前面的#号: LoadModule proxy_module modules/mod_proxy.soLoa ...
- silverlight 获取路径 config
1.获取web.config配置内容: web.config default.aspx protected string InitParams { get; set; } InitParams = s ...
- Silverlight - GPU加速
1. 在Silverlight plug-in上设置 <param name="enableGPUAcceleration" value="true" / ...
- DOS下无法调出中文输入法-Solved
From:http://www.cnblogs.com/killerlegend/p/3750542.html Author:KillerLegend Date:2014.5.24 DOS下无法打开中 ...
- Android———从GitHub上下载源码的方法【Written By KillerLegend】
首先声明,本文说的是从GitHub上下载源码而非上传源码! 1:下载tortoisegit,下载地址为: https://code.google.com/p/tortoisegit/wiki/Down ...
- Delphi For Android 开发笔记 1 - 开发工具介绍
在开始前,推荐喜欢delphi或者pascal的朋友,如果想将原来Windows的软件工程移植到Android,可使用CodeTyphon+Delphi XE7进行开发. 1.CodeTyphon C ...
- Scrapy Learning笔记(四)- Scrapy双向爬取
摘要:介绍了使用Scrapy进行双向爬取(对付分类信息网站)的方法. 所谓的双向爬取是指以下这种情况,我要对某个生活分类信息的网站进行数据爬取,譬如要爬取租房信息栏目,我在该栏目的索引页看到如下页面, ...
- 自学Python二 Python中的屠龙刀(续)
函数 秉承着一切皆对象的理念,函数作为对象,可以为其赋值新的对象名,也可以作为参数传递给其他函数! 正常的诸如空函数,默认参数等等我们就不提了,在这里着重提一下默认参数里面的坑和lambda函数. 当 ...
- Java入门到精通——开篇
本系列博客大体框架构思了一段时间了,本系列博客包含了对现有知识的总结也有对未来知识的展望. 本系列博客包括七大部分如下: 第一部分 Java基础应用 讲述JAVA的基础从以下几方面讲述 ...