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]+"\t");
}
document.write("<br/>");
}
</script>
String的方法:https://www.runoob.com/jsref/jsref-obj-string.html
这里我们写了一个案例:邮件登录框
<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....)方法可以获取到对象的所有元素和方法,以便查看