码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2015-06-17 00:17:22      阅读:172      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!