一、JavaScript使用的几个误区
1、加法与连接注意事项
- 加法是两个数字相加。
- 连接是两个字符串连接。
- JavaScript 的加法和连接都使用 + 运算符
var x = 10 + 5; // x 的结果为 15
var x = 10 + "5"; // x 的结果为 "105"
2、浮点型数据使用注意事项
var x = 0.1;
var y = 0.2;
var z = x + y; // z 的结果为 0.30000000000000004
if (z == 0.3) // 返回 false为解决,可以采用:
var z = (x * 10 + y * 10) / 10; // z 的结果为 0.3
3、 在 JavaScript 中,分号是可选的
4、注意:数组中使用名字来索引
(1)JavaScript 不支持使用名字来索引数组,只允许使用数字索引。
var person = [];
person[0] = "John";
person[1] = "Doe";
person[2] = 46;
var x = person.length; // person.length 返回 3
var y = person[0]; // person[0] 返回 "John"
(2)在 JavaScript 中, 对象 使用 名字作为索引。
如果你使用名字作为索引,当访问数组时,JavaScript 会把数组重新定义为标准对象。
执行这样操作后,数组的方法及属性将不能再使用,否则会产生错误:
var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person["age"] = 46;
var x = person.length; // person.length 返回 0
var y = person[0]; // person[0] 返回 undefined
5、程序块作用域
for (var i = 0; i < 10; i++) {
// some code
}
return i; // i 返回10
二、 验证
1、isNaN(x) //判断x是否为数字,不是为true
2、<input>中的required 属性会阻止表单提交 required属性:规定输入元素字段是必需的
3、isValid() //判断是否有效,有效为true
4、验证邮箱是否有效的实例
有效:输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号
<head>
<script>
function validateForm(){
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length){
alert("不是一个有效的 e-mail 地址");
return false;
}
}
</script>
</head>
<body>
<form name="myForm" action="demo-form.php" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="提交">
</form>
</body>