函数传参与返回值
函数的参数是按值传递,把函数外部的值复制给函数内部的参数,就和把值从一个变量复制到另一个变量一样。
实例:
创建一个count的副本,然后把count的值传入参数中,因为函数中定义了参数的值,所以1就将10覆盖了,最后的result返回1,count并未发生变化。
var count = 10;
function num(num1){
num1 = 1;
return num1;
}
var result = num(count);
console.log(result);//1
console.log(count);//10
peo和person指向了同一个对象,在peo中修改了name属性,修改了它们共同指向的对象的name属性,故外部person所引用的name属性也就改变,所以打印出来的为Jerry。
js中函数引用传递:
实例:
function setName(obj)
{
obj.name="1";
}
var web=new Object();
web.name="2";
setName(web);
console.log(web.name);
以上代码的弹出值是:“1”,下面进行一下分析:
声明一个对象web,它是一个引用类型,当为函数传递参数的时候,是传递的web对象的引用,也就是此对象的内存地址,所以在函数中修改属性的对象就是函数外面创建的对象本身。
函数中的return:返回
1.return 值;返回一个值,这个值单独作为一个整体
2.return终止函数的执行:return之后的代码将不再执行
无return返回值
function demo(){
console.log('hello world');
}
var d = demo(); //'hello world'
console.log(d);
posted on 2019-01-12 11:06 wjwprivate 阅读(589) 评论(0) 编辑 收藏 举报