10】、正则表达式
1 /** 2 * 正则表达式(Regular Expression): 3 * 4 * 用于文本搜索和文本替换 5 * */ 6 7 /** 8 * /good/i是一个正则表达式。 9 * good是一个模式(用于检索) 10 * i是一个修饰符(搜索不区分大小写)*/ 11 var pattern = /good/i; 12 13 //在JavaScript中,正则表达式通常用于两个字符串方法:search()和replace() 14 var str = 'You are so good.'; 15 console.log(str.search(pattern));//11,返回子串的起始位置 16 17 str.replace(pattern, 'sad'); 18 console.log(str);//You are so good. 原字符串没变 19 console.log(str.replace(pattern, 'sad'));//You are so sad. 返回替换过的字符串
//更多参考Regular Expression手册:http://www.runoob.com/jsref/jsref-obj-regexp.html
11】、错误(try, catch, throw)
1 /** 2 * try 语句测试代码块的错误 3 * catch 语句处理错误 4 * throw 创建自定义错误 5 * 6 * JavaScript 错误 7 当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误: 8 可能是语法错误,通常是程序员造成的编码错误或错别字。 9 可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。 10 可能是由于来自服务器或用户的错误输出而导致的错误。 11 当然,也可能是由于许多其他不可预知的因素。 12 13 try 语句允许我们定义在执行时进行错误测试的代码块。 14 catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。 15 JavaScript 语句 try 和 catch 是成对出现的。 16 17 如果把 throw 与 try 和 catch 一起使用,能够控制程序流,并生成自定义的错误消息。 18 throw 放在try里面,自定义错误 19 * */ 20 21 try { 22 //在这里运行代码 23 alerts('aaa');//故意写错的,实际程序中可能出现各种未知错误 24 }catch(error){ 25 //在这里处理错误 26 console.log(error.message); //alerts is not defined,打印出错误信息 27 } 28 29 function test(){ 30 try { 31 var num = document.getElementById('num').value; 32 33 if(num == '') throw 'empty';//放在前面验证 34 if(isNaN(num)) throw 'not a number';//放在前面验证 35 if(num < 5) throw 'too low'; 36 if(num > 10) throw 'too high'; 37 38 }catch(error) { 39 console.log(error); 40 } 41 } 42 43 document.getElementById('myBtn').onclick = test;