Java教程

JavaScript的变量赋值问题

本文主要是介绍JavaScript的变量赋值问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

JavaScript的变量赋值问题

1、基本类型赋值

var a = 1
    function fun(val) {
        val = 3
    }
fun(a)
console.log(a) // 1

过程如下:

解释:
	function中只是对val值进行了改变,并没有对a进行改变,全程只是a的值赋给了val

2、对象类型内部值的改变

var a = {name:'abc'}
    function fun(obj) {
        obj.name = 'hc'
    }
fun(a)
console.log(a.name) // hc

解释:
	1、obj接收的是a的地址值,所以指向的是a
	2、通过地址找到name,所以可以改变其name值

3、对象地址改变

var a = {name:'abc'}
function fun(obj) {
    obj = {name:'hc'}
}
fun(a)
console.log(a) // 输出{name:'abc'}不发生改变

解释:
	1、首先obj指向了a的地址
	2、但是在第二步时,obj又指向了一个新的地址空间,并没有对a进行修改
这篇关于JavaScript的变量赋值问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!