• JS对象:数组、日期、Math、自定义对象


     数组

    javascript中的数组是动态的,即长度是可以发生变化的。

    练习

    <script>
    function getValue(id){
       return document.getElementById(id).value;
    }
    function setValue(id,value){
       document.getElementById(id).value=value;
    }
    function sortByWord(){
     var src = getValue("src");//String
      var a = src.split(" ");//Array
      a.sort();
      var result1 = a.join(" ");//String
      setValue("result1",result1);
      a.reverse();
      var result2 = a.join(" ");
      setValue("result2",result2);
    }
    function sortByAlpha(){
      var src = getValue("src");
      var a = new Array();
      for(var i=0; i<src.length;i++){
          var c = src.charAt(i);
          a.push(c);
      }
      a.sort();
      var result1 = a.join("");
      setValue("result1",result1);
      a.reverse();
      var result2 = a.join("");
      setValue("result2",result2);
    }
     
    </script>
    <table>
    <tr>
      <td>随机输入英文字符串:</td>
      <td><textarea id="src">what a great day</textarea></td>
    </tr>
    <tr>
      <td>正排序结果:</td>
      <td><textarea id="result1"></textarea></td>
    </tr>
    <tr>
    <tr>
      <td>倒排序结果:</td>
      <td><textarea id="result2"></textarea></td>
    </tr>
    <tr>
    <td></td>
      <td colspan="" align="left"><button onclick="sortByAlpha()">按照字母排序</button>
    <br>
    <br>
    <button onclick="sortByWord()">按照单词排序</button>
    </td>
    </tr>
    </table>

    日期

    JavaScript使用Date对象表示日期

    Math

    Math是JavaScript的工具对象,用于常见的数学运算

    自定义对象

    在JavaScript中可以自定义对象,添加新的属性,添加新的方法

    • 通过new Object()创建一个对象

    <script> var hero = new Object(); hero.name = "盖伦"; //定义一个属性name,并且赋值 hero.kill = function(){ document.write(hero.name + " 正在杀敌" ); //定义一个函数kill } hero.kill(); //调用函数kill </script>

    • 通过new Object创建对象有个问题,就是每创建一个对象,都得重新定义属性和函数。这样代码的重用性不好
      那么,采用另一种方式,通过function设计一种对象。 然后实例化它 。
      这种思路很像Java里的设计一种类,但是 javascript没有类,只有对象,所以我们叫设计一种对象
    <script>
    function Hero(name){
      this.name = name;
      this.kill = function(){
         document.write(this.name + "正在杀敌<br>");
      }
    }
    
    var gareen = new Hero("盖伦");
    gareen.kill();
    
    var teemo = new Hero("提莫");
    teemo.kill();
     
    </script>

    • 为已经存在的对象,增加新的方法
    • 现在Hero对象已经设计好了,但是我们发现需要追加一个新的方法keng(),那么就需要通过prototype实现这一点
    <script>
    function Hero(name){
      this.name = name;
      this.kill = function(){
         document.write(this.name + "正在杀敌<br>");
      }
    }
      
    var gareen = new Hero("盖伦");
    gareen.kill();
      
    var teemo = new Hero("提莫");
    teemo.kill();
      
    Hero.prototype.keng = function(){
      document.write(this.name + "正在坑队友<br>");
    }
      
    gareen.keng();
    teemo.keng();
      
    </script>

  • 相关阅读:
    am335x gpio控制
    递归删除子目录下所有.la后缀文件
    linphone 在am335x的编译过程
    linphone 调试信息
    【POJ 3020】Antenna Placement(二分图匹配)
    【POJ 1062】昂贵的聘礼(最短路)
    【POJ 2485】Highways(Prim最小生成树)
    【Gym 100947E】Qwerty78 Trip(组合数取模/费马小定理)
    解决already defined in .obj 的问题(定义/声明的区别)
    C语言+SDL2 图形化编程
  • 原文地址:https://www.cnblogs.com/exciting/p/10640240.html
Copyright © 2020-2023  润新知