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

<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>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值