JS基础--with改变作用域
来源:互联网 发布:mmd怎么删除动作数据 编辑:程序博客网 时间:2024/06/05 15:33
with通常被当做重复引用同一对象中的多个属性的快捷方式。可以不需要重复引用对象本身。
一个例子引发的思考:
function foo(obj){with(obj){a=2;}}var o1={a:2}var o2={b:3}foo(o1);console.log(o1.a)//2foo(02);console.log(o2.a)//undefinedconsole.log(a)//2
我们可以注意到一个奇怪的副作用,a=2赋值操作实际上创建了一个全局变量a,with可以将一个没有或有多个属性的对象处理为一个完全隔离的词法作用域,因此这个对象的属性也会被处理为定义在这个作用域中的标识符。
尽管with块可以将一个对象处理为词法作用域,但是这个块内部正常的var声明并不会被限制在这个块的作用域当中,而是被添加到with所处的函数作用域。
0 0
- JS基础--with改变作用域
- js函数 with 作用
- js作用域(函数作用域、变量作用域、作用域链、with语句)
- JS - 关于改变Javascript的作用域链
- js中会改变作用域的两个语句
- JS基础--with
- js基础之变量作用域
- 基础决定高度:JavaScript中的作用域,JS作用域
- js中可以改变作用域的三中方式(改变this)
- js基础:执行环境及作用域链
- js基础-javascript任督二脉-作用域链 ★★★
- JavaScript基础(11.JS难点:作用域详解)
- JS利用prototype改变元素实例的方法的变量作用域
- 【js基础】javascript基础巩固——基础概念&作用域&内存(一)
- 4 js面向对象基础 - 预解析,词法作用域,作用域链
- with延长作用域链
- 深入学习js之浅谈作用域之(eval()和with)
- Js基础回顾 - 函数作用域及js oop(1)
- TensorFlow 官方文档中文版
- 2017春季实习生招聘阿里面试题(一)
- TCP/IP详解学习笔记(2)-数据链路层
- java 简介
- ObjectAnimation
- JS基础--with改变作用域
- 山路弯弯需坚持之jQuery EasyUI (一)
- mysql不能插入中文数据
- my sql 入门教程 5.6
- Java面向对象(一)
- 给xml文件增加DTD头
- SparkMLib学习第二部分
- Android 下拉框Spinner
- SQL学习之:INTERVAL YEAR TO MONTH 和 INTERVAL DAY TO SECOND