js的数组、string使用与类的创建
js的数组比较特殊,下标可以是任意字符串:
<script> var arr = []; arr[我滴天1] = [1, 2, 3]; arr[我滴天2] = [4, 5, 6]; arr[我滴天3] = [7, 8, 9]; document.write(arr[我滴天1][0]); </script>
和其他编程语言一样,赋值也可以直接:
<script> var arr = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ]; for (var i=0;i<arr.length;i++) { for(var j=0;j<arr[0].length;j++){ document.write(arr[i][j]+" "); } document.write("<br/>"); } </script>
String的方法:
这里我们写了一个案例:邮件登录框
<form action="http://www.baidu.com" onsubmit="return emilAndPwd()"> <p> <input id="emil" type="text" onblur="chenkEmail()" /><span id="text1"></span> </p> <p> <input id="pwd" type="text" onblur="chenkPwd()" /><span id="text2"></span> </p> <p> <input type="submit" value="登录" /><span id="text3"></span> </p> </form> <script> function $(id) { return document.getElementById(id); } function chenkEmail() { var email = $("emil").value.trim(); var obj = $("text1") obj.innerHTML = ""; if (email == "") { obj.innerHTML = "请输入邮箱!" return false; } if ((email.indexOf(@) == -1) || (email.indexOf(.) == -1)) { obj.innerHTML = "请输入完整的邮箱!" return false; } return true; } function chenkPwd() { var pasword = $("pwd").value; var obj = $("text2"); obj.innerHTML = ""; var a = ""; if (pasword.length < 6) { obj.innerHTML = "长度小于6!"; return false; } return true; } function emilAndPwd() { if (chenkEmail() && chenkPwd()) { return true; } return false; } </script>
主要逻辑是:
一、给邮件输入框设定离开输入框事件,判断输入的类容是否符合规定 1.有@ 2.有“.” 二、给密码框设定离开输入框事件,判断长度是否大于6 三、给表单提交设定只有前两项都满足时跳转
js类的创建:
只需要给定function关键字,里面设置属性:
<script> function time(name,age){ this.name=name; this.age=age; this.show=function(){ document.write(this.name+"<br/>"+this.age); } } var a=new time("张三","12"); a.show(); </script>
外加两个操作对象的方法:
var a=new time("张三","12"); with(a){ document.write(name+"<br/>"); show(); }
with方法可以将对象放入括号中,在里面使用元素或方法不需要用"对象名."
查看对象所有元素方法:
var a=new time("张三","12"); for(var i in a){ document.write(i+"<br/>"); }
for(... in....)方法可以获取到对象的所有元素和方法,以便查看