函数值传递:
function addNum(num) { num+=10; return num; } var num=10; var result=addNum(num); cc.log(num); cc.log(result);以上代码的弹出值分别为:10和20,下面进行一下分析:
声明变量num并复制为10,这个是num是一个值类型,当为函数传递参数的时候,是将此值复制一份传递给函数,所以在函数执行之后,num本身的值并没有被改变,函数中被改变的值仅仅是一个副本而已。
函数的引用:
function setName(obj) { obj.name="青岛新锐"; } var web=new Object(); web.name="蚂蚁部落"; setName(web); console.log(web.name);以上代码的弹出值是:“青岛新锐”,下面进行一下分析:
声明一个对象web,它是一个引用类型,当为函数传递参数的时候,是传递的web对象的引用,也就是此对象的内存地址,所以在函数中修改属性的对象就是函数外面创建的对象本身。