JavaScript那些事
1.定义静态常量:
const C=1;
该常量不能变化的。
2.在if判断中如果是两个变量比较js会将一个字符和一个数字比较的话,会将字符转换成数字然后在对这两个进行对比;
1 var num=100; 2 var numStr="100"; 3 document.write(num==numStr);//true 4 document.write(num===numStr);//false
3.Boolean变量创建
1 var bl=new Boolean(""); 2 alert(bl.valueOf());//false 3 var bl2=new Boolean("csds"); 4 alert(bl2.valueOf());//true
4.正则表达式
1 var searhPatten=new RegExp("JS*","ig");//创建正则表达式 2 var Str="scsncjdsnsjkscjjjsjjjssjsjscsjsdsssjsjsjsjsjsj"; 3 var arr=searhPatten.exec(Str);//执行 4 while(arr){ 5 document.write("字符"+arr[0]+"<br>"); 6 document.write("位数"+searhPatten.lastIndex+"<br>");//用于寻找上一个匹配的位置 7 arr=searhPatten.exec(Str); 8 }
JS的应用:
1 var myStr=Str.replace(searhPatten,"----"); 2 alert(myStr);
js中函数的参数传递
在函数里面传递数组的时候回将数组中的元素进行改变,其为传递的是引用
而String则是传递的是原始值(值传递)
1 function change(str,arr) { 2 str='hello'; 3 arr[1]="cd"; 4 arr[2]="2"; 5 } 6 function test() { 7 var str1="123"; 8 var arr=new Array(); 9 arr[1]="1"; 10 arr[0]="0"; 11 document.write("原来的数组:"+arr+"<br>");//0,1 12 change(str1,arr); 13 document.write("arr:"+arr+"<br>");//0,cd,2 14 document.write("String:"+str1);//123 15 } 16 test();
js中的通用添加事件
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <input type="text" id="demo"> 9 <button id="btn">cncjkncdjns</button> 10 <script> 11 /** 12 * 用于通用添加事件 13 * @param obj 对象 14 * @param event 事件名 15 * @param fn 函数 16 */ 17 function addEvent(obj,event,fn) { 18 if(obj.addEventListener){ 19 obj.addEventListener(event,fn,false); 20 }else{ 21 event='on'+event; 22 obj.attachEvent(event,fn); 23 } 24 } 25 //添加事件 26 addEvent(document.getElementById('btn'),'click',btnClick); 27 /** 28 * click事件 29 */ 30 function btnClick() { 31 alert("csc"); 32 } 33 </script> 34 </body> 35 </html>