首页 > Web开发 > 详细

函数返回值return详解—JS学习笔记2015-6-16(第58天)

时间:2015-06-17 00:15:35      阅读:369      评论:0      收藏:0      [点我收藏+]

一、return

return后面接的实际上就是一个数据类型

<script>

// fn1(); =>100

alert(fn1().length);

function fn1(){

  // return 100;

  return ‘miaov‘;

}

</script>

 

1)、函数名+(): fn1() ==> return后面的值;

2)、return 实际上是所有函数内一个隐藏的属性,默认返回undefined;

3)、return 后面的任何代码都不会执行。

 

二、arguments

fn1(1,2,3);  // 实参

function fn1(a,b,c){  // 形参

    // arguments  实际上是一组实参的集合;[1,2,3];

  alert (arguments.length);  // 但它实际上是个对象,但是拥有数组的属性,比如length;

}

 

// 当函数的参数个数无法确定的时候用arguments

alert( sum(1,2,3));

alert( sum(1,2,3,4));

function sum (){ // 这里的参数值无法确定下来;

  var n = 0;

  for( var i=0; i<arguments.length; i++){

    n += arguments[i];

  }

  return n;

}

 

与作用域的关系;

var a = 1;
function fn2( a ){
    arguments[0] = 3;
    alert(a);                   // 3
    var a = 2;
    alert( arguments[0] );     // 2
}
fn2(a);
alert(a);                        // 1

 

既能读取,也能修改;

 

这里提一下 如果没有放参数的情况:

var a = 1;
function fn2(){
    alert(a);                // undefined  涉及到作用域的问题;
    var a = 2;
}
fn2(a);
alert(a);                    // 1

当函数里面放了参数,就相当于用了arguments:

var a = 1;
function fn2( a ){
    alert(a);             // 1   这里相当于在alert(a);之前加上了arguments[0] = 1 
    var a = 2;
}
fn2(a);
alert(a);                // 1

 

函数返回值return详解—JS学习笔记2015-6-16(第58天)

原文:http://www.cnblogs.com/zhangxg/p/4582063.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!