with try catch 作用域的问题
with({}){}和try{}catch(e){}会临时改变代码执行的作用域,
var foo="abc";
with({foo:"d"}){
function f(){
alert(foo);
}
(function(){alert(foo)})()
f()
}
这段代码在执行f()时,理论上f函数的outer应该指向的是全局环境,但是实际执行过程中显示的却是“d”,说明他的outer指向的是with临时创建的词法环境
try{
var e=10;
throw new Error();
}catch (e){
function f(){
alert(e);
}
(function(){
alert(e);
})();
f();
}
这段代码也是如此,f()函数执行的时候,outer应该指向的是全局环境,e应该是10,但实际情况确是error;
还不清楚原因
with try catch 作用域的问题的更多相关文章
- 3. web前端开发分享-css,js提高篇
一. css基础知识掌握之后(个人的标准是:弄清块元素与内联元素的区别,弄清float的应用场景,弄清position[pə'zɪʃən] 下五个属性static['stætɪk],relative[ ...
- 第65课 C++中的异常处理(下)
1. C++中的异常处理 (1)catch语句块可以抛出异常 ①catch中获捕的异常可以被重新抛出 ②抛出的异常需要外层的try-catch块来捕获 ③catch(…)块中抛异常的方法是throw; ...
- web前端开发分享-css,js提高篇
一. css基础知识掌握之后(个人的标准是:弄清块元素与内联元素的区别,弄清float的应用场景,弄清position[pə'zɪʃən] 下五个属性static['stætɪk],relative[ ...
- js 不常用面试题 数组对象深度取值
function getPersonInfo(one, two, three) { console.log(one); console.log(two); console.log(three); } ...
- 高程(4):执行环境、作用域、上下文执行过程、垃圾收集、try...catch...
高程三 4.2.4.3 一.执行环境 1.全局执行环境是最外层的执行环境. 2.每个函数都有自己的执行环境,执行函数时,函数环境就会被推入一个当前环境栈中,执行完毕,栈将其环境弹出,把控制器返回给之前 ...
- 作用域&作用域链和with,catch语句&闭包
作用域(函数) 作用域:变量与函数的可访问范围,即作用域控制着变量与函数的可见性和生命周期; 在一些类C编程语言中花括号内的每一段代码都有各自的作用域,而且变量在声明它们的代码段外是不可见的,称之为块 ...
- “全栈2019”Java异常第四章:catch代码块作用域详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- with和catch改变作用域链
总结笔记: with和catch会将对象中标识符的解析添加到作用域链的最前端, 标识符的解析就是with()和catch()括号中的对象. var x = 10, y = 10; with ({x: ...
- JS 回调函数、立即执行、for块作用域、try/catch、let、垃圾收集 p3
限于时间关系,加上有些倦意,简单的记录下一些要点: 1.回调函数:就你把函数当成参数传给另一个函数,这个函数在某个时间段会执行这个函数.
随机推荐
- linux mail 使用外部邮箱地址发邮件
centos 61.系统yum安装的mailx会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置麻烦,而且会带来不必要的资源占用.通过修改配置文件可以使 ...
- centos,nginx安装备忘
# ssh 登录慢解决 vim /etc/ssh/sshd_config UseDNS no # add limitsvi /etc/security/limits.conf* soft nproc ...
- Foundation ----->NSSet
1.集合类 NSString *s1 = @"zhangsan"; NSString *s2 = @"lisi"; NSString * ...
- pdf 切割成圖片的方法
/// <summary> /// 将PDF文档转换为图片的方法 /// </summary> /// <param na ...
- Ngnix反向代理react-router配置问题解决方法
项目以react router实现,用ngnix做反向代理的时候出现404找不到页面,有两种解决方法. 第一种 将<Route path="*" component={No ...
- win7配置SMTP服务
有人说WIN7系统没有SMTP服务 怎么可能呢??? 具体安装步骤如下: 控制面板\程序>打开和关闭Windows功能 Internet信息服务 将 万维网服务>应用程序开发功能> ...
- XidianOJ 1041: Franky的游戏O
题目描述 Franky是super的人造人,来到了n*m的棋盘世界玩冒险游戏. n×m的棋盘由n行每行m个方格组成,左上角的方格坐标是(0,0),右下角的方格坐标是(n-1,m-1). 每次游戏时,他 ...
- DevExpress.XtraGrid.GridControl 实现自定义tooltip
DevExpress.XtraGrid.GridControl 控件默认的tooltip显示的每一个单元格的文本值,但是实际工作中会出现各种需求.我这里就有一个列是折扣率显示的值是0-1之间的两位小数 ...
- svn更新操作时提示database is locked
If you're on Windows version just let's do the next: Right click on the repo folder and go to Tortoi ...
- 谈谈对HTML语义化的理解
什么是HTML语义化? HTML标签可以分为有语义的标签,和无语义的标签.比如table表示表格,form表示表单,a标签表示超链接,strong标签表强调.无语义标签典型的有<div>, ...