javascript的一些高级语法

1、可变函数的使用

             

<script language="javascript">
  function testparams(){
         var params="";
          for(var i=0;i<arguments.length;i++){
                  params=params+""+arguments[i];
                  alert(params);
   }
    testparams("abc",123)
    testparams("abc" "123","456")
}
</script>

 2、动态函数的使用

   

<script language="javascript">
    var square=new Function("x","y","var sum;sum=x*x+y*y;return sum");
    alert(square(3,2));
<script>

3、对象

     3.1 只要定义了一个对象的构造函数,就等于定义了一个对象。

 

<script language="javascript">
        function Person(){
        }
        var person1=new Person();
        person1.age=18;
        person1.name="zxx";
        function sayFunc(){
           alert(person1.name+":"+person1.age);
        }
        person1.say=sayFunc;
        person1.say();
<script>

   3.2在构造函数中增加属性和方法会被增加到每个对象实例上

    

 <script language="javascript">
       function Person(name,age){
           this.age=age;
           this.name=name;
           this.say=sayFunc;
        }
       function sayFunc(){
          alert(this.name+":"+this.age);
       }
       var person1=new Person("张三",18)
       person1.say();
       var person2=new Person("李四",20)
       person2.say();
 </script>

 3.3在函数中修改参数值问题

    

<script language="javascript">
       function Person(name,age){
           this.age=age;
           this.name=name;
           this.say=sayFunc;
        }
       function sayFunc(){
          alert(this.name+":"+this.age);
       }
       function change(p1){
            p1.name="李四";
       }
      var person1=new Person("张三",18);
      change(person1);
      person1.say();
</script>

 4、javascript内部对象

     4.1Object对象

      提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数

           

<script language="javascript">
            function getAttributeValue(attr){
             alert(person[attr]);
         }
         var person=new Object(); 
         person.name='zs';
         person.age=18;
         getAttributeValue("name");
         getAttributeValue("age");
</script>

 4.2Math对象

        var num=Math.random();
        属性:E,LN10,LN2,PI,SQRT1-2,SQRT2
        方法:abs sin cos asin acos random

 4.3Date对象

           

 <script language="javascript">
        var dateVal =Date.parse("November 1, 1997 10:15 AM");
        var current_time=new Date(dateVal);
        var strDate=current_time.getYear()+"年";
        strDate+=current_time.getMonth()+"月";
        strDate+=current_time.getDate()+"日";
        strDate+=current_time.getHours()+"时";
        strDate+=current_time.getMinutes()+"分";
        strDate+=current_time.getSeconds()+"秒";
        alert(strDate);
  </script>

 5、数组

     5.1基本的数组

            var arr=["zs",123,'li',3.5]
            length属性
            arr[0].....arr[4]
            var arr=[1,,,,5]; 数组元素可以为空,空元素的值为undefined;

     5.2数组的数组

            

<script language="javascript">
       var arr=[1,["zs"+1,,'li',3.5],["w","x",1]];
       for(var i=0;i<arr.length;i++){
            if(arr[i].length){
                for(var j=0;j<arr[i].length;j++){
                     alert(arr[i][j]); 
                 }
            }else{
                  alert(arr[i]);
             }
       }
 </script>

 

   5.3使用对象方式实现数组

            

<script language="javascript">
      function MyArray(){
        this.length=arguments.length;
        for(var i=0;i<this.length;i++){
            this[i]=arguments[i];
         }
      }
      var str="";
      var arr=new MyArry(4,3.5,"abc");
      for(var i=0;i<arr.length;i++){
         str+=arr[i]+"\n";
     }
       alert(str);
</script>

   5.4Array对象

           

//构造方法
  var arr=new Array();//初始元素个数为0
   var arr2= Array(4)
  var arr3=Array(3.5,"abc",3);
//数组排序的例子
<script language="javascript">
      var arr=new Array(3.5,"abc",3);
      arr.sort();
      var x,str="";
      for(x in arr){
            str+=x+":"+arr[x]+"\n";
      }
      alert(str);
 </script>

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值