JavaScript总结(三)

1、错误

  • try 语句测试代码块的错误。
    catch 语句处理错误。
    throw 语句创建自定义错误。
    finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。
  • try 语句允许我们定义在执行时进行错误测试的代码块。
    catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
    JavaScript 语句 try 和 catch 是成对出现的。
    语法:
try {
    ...    //异常的抛出
} catch(e) {
    ...    //异常的捕获与处理
} finally {
    ...    //结束处理
}
  • finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块。
  • throw 语句允许我们创建自定义错误。
    正确的技术术语是:创建或抛出异常(exception)。
    如果把 throw 与 try 和 catch 一起使用,就能够控制程序流,并生成自定义的错误消息。

2、调试
浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 “Console” 。

  • 设置断点
    在调试窗口中,你可以设置 JavaScript 代码的断点。
    在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。
    在检查完毕后,可以重新执行代码(如播放按钮)。
  • debugger 关键字
    用于停止执行 JavaScript,并调用调试函数。
    这个关键字与在调试工具中设置断点的效果是一样的。
    如果没有调试可用,debugger 语句将无法工作。

3、变量提升
JavaScript 只有声明的变量会提升,初始化的不会。
JavaScript 严格模式(strict mode)不允许使用未声明的变量。

4、严格模式
严格模式通过在脚本或函数的头部添加 “use strict”; 表达式来声明。
在函数内使用 “use strict” 只在函数内报错。
使用时,①不允许使用未定义的变量(对象)。
②不允许删除变量或对象。③不允许删除函数。④不允许变量重名。
⑤不允许使用八进制。⑥不允许使用转义字符。⑦不允许对只读属性赋值。
⑧不允许对一个使用getter方法读取的属性进行赋值。
⑨不允许删除一个不允许删除的属性。
⑩变量名不能使用 “eval” 字符串。
·变量名不能使用 “arguments” 字符串。
·不允许使用以下这种语句。

<script>
"use strict";
with (Math){x = cos(2)}; // 报错
</script>

·由于一些安全原因,在作用域 eval() 创建的变量不能被调用。

<script>
"use strict";
eval ("var x = 2");
alert (x);               // 报错
</script>
function f(){
    return !this;
} 
// 返回false,因为"this"指向全局对象,"!this"就是false

function f(){ 
    "use strict";
    return !this;
} 
// 返回true,因为严格模式下,this的值为undefined,所以"!this"为true。
function f(){
    "use strict";
    this.a = 1;
};
f();// 报错,this未定义

5、常见错误
在字符串中直接使用回车换行是会报错的,字符串断行需要使用反斜杠()
6、表单

  • 表单验证
    ①通过js代码验证②通过HTML代码验证③自动验证,如果表单字段 (fname) 的值为空, required 属性会阻止表单提交。<input type="text" name="fname" required="required">

=

function validateForm()
{
  var x=document.forms["myForm"]["fname"].value;
  if (x==null || x=="")
  {
    alert("姓必须填写");
    return false;
  }
}
<body>
	
<form name="myForm" action="demo-form.php" onsubmit="return validateForm()"method="post">
姓: <input type="text" name="fname">
<input type="submit" value="提交">
</form>
	
</body>
  • 约束验证
    详见菜鸟教程。
  • E-mail 验证:
    输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号
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;
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值