javascript基础知识大全 便于大家学习也便于我自己查看.docx
- 文档编号:8956258
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:35
- 大小:25.41KB
javascript基础知识大全 便于大家学习也便于我自己查看.docx
《javascript基础知识大全 便于大家学习也便于我自己查看.docx》由会员分享,可在线阅读,更多相关《javascript基础知识大全 便于大家学习也便于我自己查看.docx(35页珍藏版)》请在冰豆网上搜索。
javascript基础知识大全便于大家学习也便于我自己查看
1.javascript的数组API
复制代码代码如下:
//定义数组
varpageIds=newArray();
pageIds.push('A');
数组长度
pageIds.length;
//shift:
删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
vara=[1,2,3,4,5];
varb=a.shift();//a:
[2,3,4,5]b:
1
//unshift:
将参数添加到原数组开头,并返回数组的长度
vara=[1,2,3,4,5];
varb=a.unshift(-2,-1);//a:
[-2,-1,1,2,3,4,5]b:
7
//注:
在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。
//pop:
删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
vara=[1,2,3,4,5];
varb=a.pop();//a:
[1,2,3,4]b:
5
//push:
将参数添加到原数组末尾,并返回数组的长度
vara=[1,2,3,4,5];
varb=a.push(6,7);//a:
[1,2,3,4,5,6,7]b:
7
//concat:
返回一个新数组,是将参数添加到原数组中构成的
vara=[1,2,3,4,5];
varb=a.concat(6,7);//a:
[1,2,3,4,5]b:
[1,2,3,4,5,6,7]
//splice(start,deleteCount,val1,val2,):
从start位置开始删除deleteCount项,并从该位置起插入val1,val2,
vara=[1,2,3,4,5];
varb=a.splice(2,2,7,8,9);//a:
[1,2,7,8,9,5]b:
[3,4]
varb=a.splice(0,1);//同shift
a.splice(0,0,-2,-1);varb=a.length;//同unshift
varb=a.splice(a.length-1,1);//同pop
a.splice(a.length,0,6,7);varb=a.length;//同push
//reverse:
将数组反序
vara=[1,2,3,4,5];
varb=a.reverse();//a:
[5,4,3,2,1]b:
[5,4,3,2,1]
//sort(orderfunction):
按指定的参数对数组进行排序
vara=[1,2,3,4,5];
varb=a.sort();//a:
[1,2,3,4,5]b:
[1,2,3,4,5]
//slice(start,end):
返回从原数组中指定开始下标到结束下标之间的项组成的新数组
vara=[1,2,3,4,5];
varb=a.slice(2,5);//a:
[1,2,3,4,5]b:
[3,4,5]
//join(separator):
将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
vara=[1,2,3,4,5];
varb=a.join("|");//a:
[1,2,3,4,5]b:
"1|2|3|4|5"
2.dom最常用API
复制代码代码如下:
document方法:
getElementById(id)Node返回指定结点的引用
getElementsByTagName(name)NodeList返回文档中所有匹配的元素的集合
createElement(name)NodeNode
createTextNode(text)Node创建一个纯文本结点
ownerDocumentDocument指向这个节点所属的文档
documentElementNode返回html节点
document.bodyNode返回body节点
element方法:
getAttribute(attributeName)String返回指定属性的值
setAttribute(attributeName,value)String给属性赋值
removeAttribute(attributeName)String移除指定属性和它的值
getElementsByTagName(name)NodeList返回结点内所有匹配的元素的集合
node方法:
appendChild(child)Node给指定结点添加一个新的子结点
removeChild(child)Node移除指定结点的子结点
replaceChild(newChild,oldChild)Node替换指定结点的子结点
insertBefore(newChild,refChild)Node在同一层级的结点前面插入新结点
hasChildNodes()Boolean如果结点有子结点则返回true
node属性:
nodeNameString以字符串的格式存放结点的名称
nodeTypeString以整型数据格式存放结点的类型
nodeValueString以可用的格式存放结点的值
parentNodeNode指向结点的父结点的引用
childNodesNodeList指向子结点的引用的集合
firstChildNode指向子结点结合中的第一个子结点的引用
lastChildNode指向子结点结合中的最后一个子结点的引用
previousSiblingNode指向前一个兄弟节点;如果这个节点就是兄弟节点,那么该值为null
nextSiblingNode指向后一个兄弟节点;如果这个节点就是兄弟节点,那么该值为null
3.网上搜藏的一个map对象:
复制代码代码如下:
functionHashMap()
{
/**Map大小**/
varsize=0;
/**对象**/
varentry=newObject();
/**存**/
this.put=function(key,value)
{
if(!
this.containsKey(key))
{
size++;
}
entry[key]=value;
}
/**取**/
this.get=function(key)
{
returnthis.containsKey(key)?
entry[key]:
null;
}
/**删除**/
this.remove=function(key)
{
if(this.containsKey(key)&&(deleteentry[key]))
{
size--;
}
}
/**是否包含Key**/
this.containsKey=function(key)
{
return(keyinentry);
}
/**是否包含Value**/
this.containsValue=function(value)
{
for(varpropinentry)
{
if(entry[prop]==value)
{
returntrue;
}
}
returnfalse;
}
/**所有Value**/
this.values=function()
{
varvalues=newArray();
for(varpropinentry)
{
values.push(entry[prop]);
}
returnvalues;
}
/**所有Key**/
this.keys=function()
{
varkeys=newArray();
for(varpropinentry)
{
keys.push(prop);
}
returnkeys;
}
/**MapSize**/
this.size=function()
{
returnsize;
}
/*清空*/
this.clear=function()
{
size=0;
entry=newObject();
}
}
varmap=newHashMap();
/*
map.put("A","1");
map.put("B","2");
map.put("A","5");
map.put("C","3");
map.put("A","4");
*/
/*
alert(map.containsKey("XX"));
alert(map.size());
alert(map.get("A"));
alert(map.get("XX"));
map.remove("A");
alert(map.size());
alert(map.get("A"));
*/
/**同时也可以把对象作为Key**/
/*
vararrayKey=newArray("1","2","3","4");
vararrayValue=newArray("A","B","C","D");
map.put(arrayKey,arrayValue);
varvalue=map.get(arrayKey);
for(vari=0;i { //alert(value[i]); } */ /**把对象做为Key时,自动调用了该对象的toString()方法其实最终还是以String对象为Key**/ /**如果是自定义对象那自己得重写toString()方法否则.就是下面的结果**/ functionMyObject(name) { this.name=name; } /** functionMyObject(name) { this.name=name; this.toString=function() { returnthis.name; } } **/ varobject1=newMyObject("小张"); varobject2=newMyObject("小名"); map.put(object1,"小张"); map.put(object2,"小名"); alert(map.get(object1)); alert(map.get(object2)); map.remove("xxxxx"); alert(map.size()); /**运行结果小名小名size=1**/ /**如果改成复写toString()方法的对象,效果就完全不一样了**/ 4.常用的数字函数: 复制代码代码如下: ·数字型(Number) 1.声明 vari=1; vari=newNumber (1); 2.字符串与数字间的转换 vari=1; varstr=i.toString();//结果: "1" varstr=newString(i);//结果: "1" i=parseInt(str);//结果: 1 i=parseFloat(str);//结果: 1.0 //注意: parseInt,parseFloat会把一个类似于"32G"的字符串,强制转换成32 3.判断是否为有效的数字 vari=123;varstr="string"; if(typeofi=="number"){}//true //某些方法(如: parseInt,parseFloat)会返回一个特殊的值NaN(NotaNumber) //请注意第2点中的[注意],此方法不完全适合判断一个字符串是否是数字型! ! i=parseInt(str); if(isNaN(i)){} 4.数字型比较 //此知识与[字符串比较]相同 5.小数转整数 varf=1.5; vari=Math.round(f);//结果: 2(四舍五入) vari=Math.ceil(f);//结果: 2(返回大于f的最小整数) vari=Math.floor(f);//结果: 1(返回小于f的最大整数) 6.格式化显示数字 vari=3.14159; //格式化为两位小数的浮点数 varstr=i.toFixed (2);//结果: "3.14" //格式化为五位数字的浮点数(从左到右五位数字,不够补零) varstr=i.toPrecision(5);//结果: "3.1415" 7.X进制数字的转换 //不是很懂-.- vari=parseInt("0x1f",16); vari=parseInt(i,10); vari=parseInt("11010011",2); 8.随机数 //返回0-1之间的任意小数 varrnd=Math.random(); //返回0-n之间的任意整数(不包括n) varrnd=Math.floor(Math.random()*n) 5.网上搜藏的js堆栈: 复制代码代码如下: functionstack(){ if(this.top==undefined){ //初始化堆栈的顶部指针和数据存放域 this.top=0; this.unit=newArray(); } this.push=function(pushvalue){ //定义压入堆栈的方法 this.unit[this.top]=pushvalue; this.top+=1; } this.readAllElements=function(){ //定义读取所有数据的方法 if(this.top==0){ alert("当前栈空,无法读取数据"); return(""); } varcount=0; varoutStr=""; for(count=0;count outStr+=this.unit[count]+","; } return(outStr); } this.pop=function(){ //定义弹出堆栈的方法 if(this.top==0){ alert("当前栈空,无法弹出数据"); return(""); } varpopTo=this.unit[this.top-1]; this.top--; return(popTo); /*从堆栈弹出数据,顶部指针减一,不过这里没有做到资源的释放,也 就是说数据仍然存在于this.unit的数组中,只不过无法访问罢了。 目前 我也没想到好的办法解决。 */ } } 6.最常用的JavaScript日期函数: 复制代码代码如下: ·日期型(Date) 1.声明 varmyDate=newDate();//系统当前时间 varmyDate=newDate(yyyy,mm,dd,hh,mm,ss); varmyDate=newDate(yyyy,mm,dd); varmyDate=newDate("monthNamedd,yyyyhh: mm: ss"); varmyDate=newDate("monthNamedd,yyyy"); varmyDate=newDate(epochMilliseconds); 2.获取时间的某部份 varmyDate=newDate(); myDate.getYear();//获取当前年份(2位) myDate.getFullYear();//获取完整的年份(4位,1970-) myDate.getMonth();//获取当前月份(0-11,0代表1月) myDate.getDate();//获取当前日(1-31) myDate.getDay();//获取当前星期X(0-6,0代表星期天) myDate.getTime();//获取当前时间(从1970.1.1开始的毫秒数)时间戳! ! myDate.getHours();//获取当前小时数(0-23) myDate.getMinutes();//获取当前分钟数(0-59) myDate.getSeconds();//获取当前秒数(0-59) myDate.getMilliseconds();//获取当前毫秒数(0-999) myDate.toLocaleDateString();//获取当前日期 myDate.toLocaleTimeString();//获取当前时间 myDate.toLocaleString();//获取日期与时间 3.计算之前或未来的时间 varmyDate=newDate(); myDate.setDate(myDate.getDate()+10);//当前时间加10天 //类似的方法都基本相同,以set开头,具体参考第2点 4.计算两个日期的偏移量 vari=daysBetween(beginDate,endDate);//返回天数 vari=beginDate.getTimezoneOffset(endDate);//返回分钟数 5.检查有效日期 //checkDate()只允许"mm-dd-yyyy"或"mm/dd/yyyy"两种格式的日期 if(checkDate("2006-01-01")){} //正则表达式(自己写的检查yyyy-mm-dd,yy-mm-dd,yyyy/mm/dd,yy/mm/dd四种) varr=/^(\d{2}|\d{4})[\/-]\d{1,2}[\/-]\d{1,2}$/; if(r.test(myString)){} 7.最常用字符串函数API: 复制代码代码如下: ·字符串(String) 1.声明 varmyString=newString("Everygoodboydoesfine."); varmyString="Everygoodboydoesfine."; 2.字符串连接 varmyString="Every"+"goodboy"+"doesfine."; varmyString="Every";myString+="goodboydoesfine."; 3.截取字符串 //截取第6位开始的字符 varmyString="Everygoodboydoesfine."; varsection=myString.substring(6);//结果: "goodboydoesfine." //截取第0位开始至第10位为止的字符 varmyString="Everygoodboydoesfine."; varsection=myString.substring(0,10);//结果: "Everygood" //截取从第11位到倒数第6位为止的字符 varmyString="Everygoodboydoesfine."; varsection=myString.slice(11,-6);//结果: "boydoes" //从第6位开始截取长度为4的字符 varmyString="Everygoodboydoesfine."; varsection=myString.substr(6,4);//结果: "good" 4.转换大小写 varmyString="Hello"; varlcString=myString.toLowerCase();//结果: "hello" varucString=myString.toUpperCase();//结果: "HELLO" 5.字符串比较 varaString="Hello! "; varbString=newString("Hello! "); if(aString=="Hello! "){}//结果: true if(aString==bString){}//结果: true if(aString===bString){}//结果: false(两个对象不同,尽管它们的值相同) 6.检索字符串 varmyString="helloeverybody."; //如果检索不到会返回-1,检索到的话返回在该串中的起始位置 if(myString.indexOf("every")>-1){}//结果: true 7.查找替换字符串 varmyString="Iisyourfather."; varresult=myString.replace("is","am");//结果: "Iamyourfather." 8.特殊字符: \b: 后退符\t: 水平制表符 \n: 换行符\v: 垂直制表符 \f: 分页符\r: 回车符 \": 双引号\': 单引号 \\: 反斜杆 9.将字符转换成Unicode编码 varmyString="hello"; varcode=myString.charCodeAt(3);//返回"l"的Unicode编码(整型) varchar=String.fromCharCode(66);//返回Unicode为66的字符 10.将字符串转换成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javascript基础知识大全 便于大家学习也便于我自己查看 javascript 基础知识 大全 便于 大家 学习 自己 查看