本文共 3150 字,大约阅读时间需要 10 分钟。
Javascript 数组(包括对象) var ballArray=new Array("basketball","football","pingpong"); for(var b in ballArray) document.write(ballArray[b]+"<br/>"); 一个不知错对的冒泡 <script type="text/javascript"> var numArray=new Array(10,7,9,1,3,2,5,8,6,4,11,13,12,14,15,18,17,16); var flag=0; for (var i=0;i<numArray.length&&flag==0;i++) { flag=1; for (j=0;j<numArray.length-1;j++) { if(numArray[i]<numArray[j]) { temp=numArray[i]; numArray[i]=numArray[j]; numArray[j]=temp; flag=0; } } } for (var n in numArray) document.write("数"+numArray[n]+"<br/>"); </script> 产生10以内的随机整数 parseInt(Math.random()*10) 一个按钮关闭窗口,按钮上的字是value <input type="button" value="close" οnclick="window.close();"> 函数体内的变量为局部,函数外的为全局,作用域为整个html文档 定义一个空对象 var phone=new Object(); javascript的构造函数竟然就是一个同名函数 如 function Dog(x,y,z) { this,name=x; this.color=y; this.weight=z; } var dogA=new Dog("花花","黑色",50); var dogB=new Dog(); dogB.name="多多"; dogB.color="黄色"; 甚至直接定义对象的属性,难道不用构造函数 var dog=new Object(); dog.name="花花"; dog.color="黑色"; 对象的方法可以这样定义: function callName() { alert(this.name); } function Dog(x,y,z) { this.name=x;this.color=y;this.weight=z; this.call=callName;即将callName挂到了对象的call方法上 } 访问对象属性除了用.还可以用[]这个可以按键访问,可以操作 如Dog属性有name1,name2,name3,即可以dogA["name"+i]访问 with(dogA) { 在此访问,不用加对象名和. } for(var i in dogA) { document.write(i);此处显示的i为对象的属性及方法名 } for(var j in dogA) { document.write(dogA[j];此处显示的为对象属性的值和方法的内容 } 数据验证 form的οnsubmit="return flase"可以阻止提交 可以写一个function οnsubmit="return check(this);"其中 check再来返回逻辑值 建议把函数的js放到<head>中 可以用载入方法加入js <script language="javascript" src="menu_data.js"></script> 正则表达式又忘了,复习一下 "s单个空格(包括tab和换行) "S互补 "d数字 "w字母数字下划线 "W互补 ^尖头 $钱尾 /"bAAA/ /AAA"b/ "b两头 "B中间 又一个javascript书 定义数组 var objArray=new Array();创建一个空的 var objArray=new Array(2);创建一个长度为2的数组,但不能创建只有2的数组 var objArray=new Array("2","a","b");创建并初始化 又一方法(初始化方法) var objArray=[];创建一个空的 var objArray=[2];创建一个只有2的数组 var objArray=["a","b","c"];创建并初始化 String对象的match(regExp)匹配正则表达式的方法 如: while(!str.match(/"d+/))当不为数字时 关于事件 function imgClick(img) { alert(img.src); } <img src="1.jpg" οnclick="imgClick(this)"/> 在官官相护没有标记的对象如window,document 这些的方法直接传函数名 document.οnclick=imgClick;不要加()之类,或加引号都不对 Ctrl+回车提交表单 var txtContent=document.getElementById("txtContent"); txtContent.οnkeydοwn=function(evt){ evt=evt?evt:window.event;兼容性 if(evt.ctrlKey&&13==evt.keyCode)this.form.submit(); } 遍历复选框 for (var i=0;i<theForm.elements.length;i++) { if("checkbox"==theForm.elements[i].type) //处理语句 } 通过id引用结点 document.getElementById("span1"); 通过tag name来引用结点,返回数组 document.getElementByTagName("span"); 获取结点内的文本,通常用innerHTML属性 <span id="span1">hello</span> 如下取: document.getElementById("span1").innerHTML; 亦可用结点的办法 documnet.getElementById("span1").childNodes[0].nodeValue 注:nodeValue只对文本结点有效 创建元素结点 var _table=document.createElement("table");创建一个表格 _table.setAttribute("border","1");设置表格的属性 创建文本结点 _td=documnet.createElement("td"); _tn=document.createTextNode("内容"); _td.appendChild(_tn);将文本作为td的子节点 _tr.appendChild(_td);将_td放入tr的子节点 可以用两层循环来产生一个表格 以上IE不行,tr用insertRow(i),td用insertCell(i)才行 删除一行 _table.deleteRow(i) 删除一列 则要循环每一行来删除列i=0;i<_table.rows.length _table.rows[i].deleteCell(j); 转载于:https://my.oschina.net/u/1040766/blog/133562