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>

原文地址:https://www.cnblogs.com/exciting/p/10640240.html