break和continue
break用于停止当前的循环,continue用于跳过当前这一部分
都可以加标签,来实现小循环或者大循环的停止或者跳出操作
bigloop:
//标签
for (var i = 0; i < 10; i++)
{
smallloop:
for (var j = 0; j < 10; j++)
{
if (j > 3)
{
break;
}
if (i == 2)
{
break smallloop;
//跳出内部小循环
}
if (i == 4)
{
break bigloop;
//跳出外部大循环
}
document.write("i=" + i + " j=" + j + "");
}
}
变量类型的判别
-typeof -to string()null 和 undefined的区别
var person = null; // 值为 null(空), 但类型为对象
person = undefined; // 值为 undefined, 类型是不再是obj
JavaScript 数据类型
在 JavaScript 中有 5 种不同的数据类型:
string
number
boolean
object
function
3 种对象类型:
Object
Date
Array
2 个不包含任何值的数据类型:
null
undefined:已经不再是对象了
- constructor 属性
constructor 属性返回所有 JavaScript 变量的构造函数。
实例
"John".constructor // 返回函数 String() { [native code] }
(3.14).constructor // 返回函数 Number() { [native code] }
false.constructor // 返回函数 Boolean() { [native code] }
[1,2,3,4].constructor // 返回函数 Array() { [native code] }
{name:'John', age:34}.constructor // 返回函数 Object() { [native code] }
new Date().constructor // 返回函数 Date() { [native code] }
function () {}.constructor // 返回函数 Function(){ [native code] }
- JavaScript 正则表达式
用于进行搜索操作,匹配操作
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>教程</title>
</head>
<body>
<p>呵呵</p>
<p>搜索字符串 "runoob", 并显示匹配的起始位置:</p>
<button onclick="myFunction()">呵呵</button>
<p id="demo"></p>
<script>
function myFunction() {
var str = "Visit Runoob!";
var n = str.search(/Runoob/i);
document.getElementById("demo").innerHTML = n;
}
</script>
</body>
</html>
替换操作
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p>替换 "Microsoft" 为 "Runoob" :</p>
<button onclick="myFunction()">点我</button>
<p id="demo">请访问 Microsoft!</p>
<script>
function myFunction() {
var str = document.getElementById("demo").innerHTML;
//将一个自然段的语句转换成变量进行申明,从而可以进行替换操作
var txt = str.replace("Microsoft","Runoob");
//也可以使用该语句var txt = str.replace(/microsoft/i,"Runoob");i只是修饰符
//进行.replace替换操作
document.getElementById("demo").innerHTML = txt;
}
</script>
</body>
</html>
修饰符 | 描述 |
---|---|
i | 执行对大小写不敏感的匹配。 |
g | 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。 |
m | 执行多行匹配 |
高级校检代码
/*是否带有小数*/
function isDecimal(strValue ) {
var objRegExp= /^\d+\.\d+$/;
return objRegExp.test(strValue);
}
/*校验是否中文名称组成 */
function ischina(str) {
var reg=/^[\u4E00-\u9FA5]{2,4}$/; /*定义验证表达式*/
return reg.test(str); /*进行验证*/
}
/*校验是否全由8位数字组成 */
function isStudentNo(str) {
var reg=/^[0-9]{8}$/; /*定义验证表达式*/
return reg.test(str); /*进行验证*/
}
/*校验电话码格式 */
function isTelCode(str) {
var reg= /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;
return reg.test(str);
}
/*校验邮件地址是否合法 */
function IsEmail(str) {
var reg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
return reg.test(str);
}