javascript 函数

一、函数内部有2个特殊对象

1、this

2、arguments 。arguments.callee属性是一个指针,指向拥有arguments这个对象的函数。

二、每个函数都包含2个属性:

1、length: 表示函数希望接收的命名参数的个数。

2、prototype

三、每个函数都包含2个非继承而来的方法,这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内 this 对象的值。

1、apply() 接收2个参数,一个是在其中运行函数的作用域,另一个是参数数组(可以是Array实例,也可以arguments是对象)。

 

 
<html>
<head>
    <title>Function Type apply() Method Example</title>
    <script type="text/javascript">
        
        function sum(num1, num2){
            return num1 + num2;
        }
        
        function callSum1(num1, num2){
            return sum.apply(this, arguments);//因为是在全局作用域中调用的,此处this是window对象。
        }
        
        function callSum2(num1, num2){
            return sum.apply(this, [num1, num2]);
        }
        
        alert(callSum1(10,10));   //20
        alert(callSum2(10,10));   //20

    </script>
</head>
<body>

</body>
</html>

 

2、call() 接收的第1个参数与appky相同,即在其中运行函数的作用域;其余的参数直接传递给函数

 

<html>
<head>
    <title>Function Type call() Method Example</title>
    <script type="text/javascript">
        
        function sum(num1, num2){
            return num1 + num2;
        }
        
        function callSum(num1, num2){
            return sum.call(this, num1, num2);
        }
        
        alert(callSum(10,10));   //20

    </script>
</head>
<body>

</body>
</html>
 

 

posted @ 2012-06-05 11:23  WFKeypoints  阅读(136)  评论(0编辑  收藏  举报