JS基本类型方法和类的访问

来源:互联网 发布:windows 平板 2017 编辑:程序博客网 时间:2024/06/06 09:25
<html>    <script language="javascript">        function functionA(){            alert('hello');        }        //functionA();//A作为函数来使用        var obj = new functionA();//A作为类来使用    </script>        <script language="javascript">        function ClassName(){            //定义公有变量            this.property1=0;            //定义公有方法            this.method1=function(){                alert('method1');                //判断this.a是否赋值                //if(this.a != undefined){//undefined可以                if(this.a != null){//null也可以                    alert(this.a);                        alert('!undefined');                    }                    }                        //另外一种方法的定义形式            this.method3 = functionA;            //定义私有成员            var pram1 = 1;            var method2 = function(){                alert('method2');            }                    }                //funcA是方法method3的处理函数        function functionA(){            alert('method3');        }        //var obj = new functionA();        //alert('var obj = new functionA()');        var obj2 = new ClassName();        alert('var obj2 = new ClassName()');        obj2.method1();        alert('obj2.method1()');        //obj2.method2();//私有,无法访问        obj2.method3();        alert('obj2.method3()');                obj2.a="hello a";        obj2.method1();                    </script>        <script language="javascript">        alert('----------------------');        //类方法重载--JS不支持,但可以利用arguments属性间接完成相同功能        function classA(){            //注意:this.arguments.length是错误的            var num = classA.arguments.length;//classA.可以省略            this.n = classA.arguments.length;            this.method1 = function(){                if(num==0){                    alert('0');                }                if(num==1){                    alert('1');                }                if(num==2){                    alert('2');                        //alert(classA.arguments[1]);        //未执行----类,不能获取参数值!但函数可以                }                        }        }                var obj = new classA();                obj.method1();//0                var obj1 = new classA(5);        obj1.method1();//1        var obj2 = new classA(3,5);        obj2.method1();//2                alert('----------');    </script>            <script language="javascript">                 alert('----------------------');        //函数-arguments        function classA(){            var num = arguments.length;            alert(num);                        if(num==0){                alert('00');            }            if(num==1){                alert('11');            }            if(num==2){                alert('22');                    var t = arguments[0];//接收传入的值                alert(t);                t = arguments[1];                alert(t);            }                               }                classA();                //0                classA(5);        //1                classA(3,5);        //2                alert('----------');    </script>             <script>        function testparams()        {         var params="";         for (var i=0;i<arguments.length;i++)         {          params+=" "+arguments[i];          alert(params);          alert("1");         }                }        testparams("abc",123);        testparams(123,456,"abc");    </script></html>

原创粉丝点击