javascript基础知识大全 便于大家学习也便于我自己查看.docx

上传人:b****7 文档编号:8956258 上传时间:2023-02-02 格式:DOCX 页数:35 大小:25.41KB
下载 相关 举报
javascript基础知识大全 便于大家学习也便于我自己查看.docx_第1页
第1页 / 共35页
javascript基础知识大全 便于大家学习也便于我自己查看.docx_第2页
第2页 / 共35页
javascript基础知识大全 便于大家学习也便于我自己查看.docx_第3页
第3页 / 共35页
javascript基础知识大全 便于大家学习也便于我自己查看.docx_第4页
第4页 / 共35页
javascript基础知识大全 便于大家学习也便于我自己查看.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

javascript基础知识大全 便于大家学习也便于我自己查看.docx

《javascript基础知识大全 便于大家学习也便于我自己查看.docx》由会员分享,可在线阅读,更多相关《javascript基础知识大全 便于大家学习也便于我自己查看.docx(35页珍藏版)》请在冰豆网上搜索。

javascript基础知识大全 便于大家学习也便于我自己查看.docx

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.将字符串转换成

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1