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>