码迷,mamicode.com
首页 > 编程语言 > 详细

javascript学习笔记07

时间:2015-05-21 09:00:29      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

在函数对象中有一个属性叫做arguments,通过这个属性可以获取相应的参数值,这个属性是一个数组,其实就是传递进来的参数

function say(num) {
        /*
         * 在函数对象中有一个属性叫做arguments,通过这个属性可以获取相应的参数值,这个属性
         * 是一个数组,其实就是传递进来的参数
         */
        alert(arguments.length);
        for(var i=0;i<arguments.length;i++) {
            alert(arguments[i]);
        }
        alert(num);
    }

 

 

   /**
     * 在arguments这个对象中有一个callee的方法,arguments.callee(arg)可以反向的调用
     */
    function factorial(num) {
        if(num<=1) return 1;
        //此时和函数名耦合在一起
        // else return num*factorial(num-1);
        //以下就实现了函数名的解耦合,在js中通常都是使用这种方式做递归
        else return num*arguments.callee(num-1);
        
    }

 

 

 

This的用法:

/**
     * 当需要创建一个类的时候,设置类的属性和方法需要通过this关键字来引用
     * 但是特别注意:this关键字在调用时会根据不同的调用对象变得不同
     */
    
    var color = "red";
    function showColor() {
        alert(this.color);
    }
    /**
     * 创建了一个类,有一个color的属性和一个show的方法
     */
    function Circle(color) {
        this.color = color;
        this.showColor = showColor;
    }
    
    var c = new Circle("yellow");
    //使用c来调用showColor方法,等于调用了showColor()方法
    //此时的this是c,所以color就是yellow
    c.showColor();//yellow
    //此时调用的对象等于是window,showColor的this就是window,所以就会找window中color
    showColor();//red
    </script>

 

函数的内部属性arguments和this

函数的属性length和方法call和apply 

arguments和length作用一样,但一个是函数内部属性,一个是函数属性

 

javascript学习笔记07

标签:

原文地址:http://www.cnblogs.com/canceler/p/4518753.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!