eg:

function setName(obj){
  obj.name = "Nicholas";
  obj = new Object();
  obj.name = "Greg"
}
var person = new Object();
setName(person);
alert(person.name); //"Nicholas"

例子的结果显示的值仍然是“Nicholas",即使在函数内部修改了参数的值,但原始的引用仍然保持未变。实际上,当在函数内部重写obj时,这个变量引用的就是一个局部对象了。而这个局部对象会在函数执行完毕后立即销毁。

即可以把ECMAScript函数的参数想象成局部变量。

如下案例同理。

<script type="text/javascript">
  var a = ;
  var b = [];
  function change1(a){
    a = ;
  }
  function change2(b){
    b[] = ;
  }
  change1(a)
  change2(b)
  console.log(a);
  console.log(b[])
</script>

对于数组,原来是数组,后来声明了“局部变量”,并没有影响。

上述可能有误,欢迎予以指正。

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(47)-工作流设计-补充
  2. 不行,受不了了,我要记录下这个 bug
  3. js和html5实现画板
  4. Java基础-final变量和普通变量的区别
  5. python中迭代器和生成器
  6. 关于c中的%x及其它格式化符
  7. C#使用参数数组
  8. POJ 3111 K Best(最大化平均值)
  9. leetcode先刷_Path Sum
  10. UVA 11149 - Power of Matrix(矩阵乘法)
  11. sublime text3 用法
  12. sql for xml 输出结果带单引号出现转成&amp;apos的解决方案
  13. 在ASP.NET Core中通过EF Core实现一个简单的全局过滤查询
  14. CucumberJS 资源
  15. 20175208 《Java程序设计》第九周学习总结
  16. OM1、OM2、OM3和OM4光纤之间的区别
  17. 2019.4.1考试&amp;2019.4.2考试&amp;2019.4.4考试
  18. APIView源码分析
  19. python之进程和线程
  20. pandas的Panel类型dtype

热门文章

  1. JSON是什么?为JavaScript准备的数据格式
  2. SQL Server-聚焦聚集索引对非聚集索引的影响
  3. C#实现软件监控外部程序运行状态的方法
  4. Oracle 合并查询
  5. HDU 1176 免费馅饼【动态规划】
  6. learn cmake
  7. Unity 自己旋转 方法
  8. GDB Layout
  9. 小程序全局状态管理,在页面中获取globalData和使用globalSetData
  10. UVA1584-Circular Sequence(紫书例题3.6)