javascript - js函数内没有使用var定义的对象是局部对象吗?

查看:92
本文介绍了javascript - js函数内没有使用var定义的对象是局部对象吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

函数内没有使用var定义的对象应该是个全局对象呀
在红宝书P71页说是函数内部重写obj时,这个对象引用变成了一个局部对象,不解~~

解决方案

特地抽出了我的红宝书,这节,说的是参数按值传递;然后,对象按值传递,传递的是该对象所在地的指针。所以,第一步,有一个‘name’属性为'chen'就好理解了。
因为obj,是函数的参数,实际意义相当在函数内,var了一个obj,后期,函数执行完,就会被销毁。可能你看了后面的执行环境和作用域好理解一点。然后,obj = new Object() 时,obj的值,不是原person对象的指针了。
当然,你把第二行代码,换成'obj1',就有你说的全局声明的效果了。(很认真的答题)

这篇关于javascript - js函数内没有使用var定义的对象是局部对象吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆