javascript学习笔记.docx
《javascript学习笔记.docx》由会员分享,可在线阅读,更多相关《javascript学习笔记.docx(21页珍藏版)》请在冰豆网上搜索。
javascript学习笔记
提示对话框:
alert('');
Javascript的采用Unicode编码,每个字符占两字节。
JavaScript是区分大小写的语言。
数字转化为字符方法:
toString();
字符串的长度属性:
length
字符串方法:
.toLowerCase()转化为小写.toUpperCase()转化为大写
in运算符判断右边对象是否含有名为左侧字符串的属性vara={x:
1,y:
2};"x"ina;//返回true
instanceof运算符判断左侧对象是不是右侧的类创建的。
返回类型运算符:
typeof
创建对象运算符:
new
删除运算符:
删除对象属性数组元素或者变量删除成功或被删除属性或者元素或者变量不存在返回true用var声明的变量不能删除。
null==undefined
两个斜线之间的文本构成了正则表达式如:
/[1-9][0-9]*/
isFinite()判断参数是否是一个有限大小的数字
isNaN()判断参数是否为‘非数’
if()
elseif()
else
switch(表达式)
{
case值1:
{statement;break;}
case值2:
{statement;break;}
Default:
{statement;break;}
}
while()
{}
do
{}
while();
for(i=1;i<10;i++)
{}
for(variableinobject)
{}
try
catch
finally
即是try语句中有break或者continue语句finally中的语句仍会被执行。
with{}
函数:
function函数名(可选参数)
{
}
newFunction('参数','参数','return值或表达式')
functionf(x){returnx*x;}
newFunction('x','returnx*x')
vary=function(x){returnx*x}
vary=functionf(x){returnx*x}
函数体的arguments[]对象存储的是传入的参数数组。
arguments的length属性表示传入参数的数目
argument.callee()a方法调用argument所在的函数
函数的length属性表示的函数定义的参数个数。
方法:
f.call(obj,55)
f.Apply(obj,[55])//区别,apply函数参数用数组表示。
对象的constructor属性引用的初始化该对象的构造函数
对象的toString方法返回的对象的类型或者值
对象的toLocalString方法返回的是对象局部化字符串值,默认和toString值一样。
对象的valueof返回引用对象的值
对象的hasOwnProperty()方法判断是含有指定的非继承属性。
对象的propertyIsEnumerable()方法判断是否含有指定的非继承属性。
对象的isPrototypeOf()判断对象是知否是由指定的类创建的
数组定义
vara=newarry()
数组的jion()方法将数组元素以指定的分割符链接起来,省略参数则以,分割。
与字符串的String.split()相反。
数组的reverse()方法,将数组元素顺序颠倒。
数组的sort()方法,对数组进行排序(按字母顺序),未定义的元素排在最后。
sort的参数可以是表达式或函数。
如a.sort(function(a,b){returna-b;})。
若参数返回一个小于0的数则第一个参数应该在第二个参数之前。
否则,位于第一个参数之后。
数组的concat()方法,将指定元素添加到数组中(数组中已有的不再添加),若元素为数组,则只将该数组展开,对该数组内的数组,不展开;如
a=[1,2,3,4]
a.concat([5,6,[7,8,9]])=[1,2,3,4,5,6,[7,8,9]]
数组的slice(start,length)返回该数组的一个子集,start若为负值则从数组末尾开始计算。
数组的splice(start,length,要插入的参数列表),从指定位置开始删除指定长度的元素,并插入新的数据(与concat()方法不同,该方法不展开数组)返回删除的数组元素。
a=[1,2,3,4];a.splice(2,2,[3,4],7,8,9)//返回[3,4]a=[1,2,[3,4],7,8,9]
数组的push()方法将一个或多个元素追加到数组的末尾并返回数组新长度。
数组的pop()方法将删除数组的最后一个或多个元素,并返回删除的元素。
数组的unshift()方法将一个或多个元素插入到数组的开头并返回数组新长度。
数组的shift()方法见删除数组开头的一个或多个元素并返回删除的元素。
数组的toString方法将数组内的元素连接成以,分割的字符串,和不带参数的jion()方法返回的结果相同。
Cookies:
在cookie的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。
在cookie的名中做到这点很容易,但要保存的值是不确定的。
如何来存储这些值呢?
方法是用escape()函数进行编码,它能将一些特殊符号使用十六进制表示,当使用escape()编码后,在取出值以后需要使用unescape()进行解码才能得到原来的cookie值。
Cookie格式:
NAME是该Cookie的名称,VALUE是该Cookie的值。
在字符串“NAME=VALUE”中,不含分号、逗号和空格等字符。
Expires=DATE:
Expires变量是一个只写变量,它确定了Cookie有效终止日期。
该属性值DATE必须以特定的格式来书写:
星期几,DD-MM-YYHH:
MM:
SSGMT,GMT表示这是格林尼治时间。
反之,不以这样的格式来书写,系统将无法识别。
该变量可省,如果缺省时,则Cookie的属性值不会保存在用户的硬盘中,而仅仅保存在内存当中,Cookie文件将随着浏览器的关闭而自动消失。
Domain=DOMAIN-NAME:
Domain该变量是一个只写变量,它确定了哪些Internet域中的Web服务器可读取浏览器所存取的Cookie,即只有来自这个域的页面才可以使用Cookie中的信息。
这项设置是可选的,如果缺省时,设置Cookie的属性值为该Web服务器的域名。
Path=PATH:
Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie。
一般如果用户输入的URL中的路径部分从第一个字符开始包含Path属性所定义的字符串,浏览器就认为通过检查。
如果Path属性的值为“/”,则Web服务器上所有的WWW资源均可读取该Cookie。
同样该项设置是可选的,如果缺省时,则Path的属性值为Web服务器传给浏览器的资源的路径名。
Javascriptcookie访问
设置:
functionSetCookie(name,value,expires,path,domain,secure)
{
varexpDays=expires*24*60*60*1000;
varexpDate=newDate();
expDate.setTime(expDate.getTime()+expDays);
varexpString=((expires==null)?
"":
(";expires="+expDate.toGMTString()))
varpathString=((path==null)?
"":
(";path="+path))
vardomainString=((domain==null)?
"":
(";domain="+domain))
varsecureString=((secure==true)?
";secure":
"")
document.cookie=name+"="+escape(value)+expString+pathString+domainString+secureString;
}
获取:
functionGetCookie(name)
{
varresult=null;
varmyCookie=document.cookie+";";
varsearchName=name+"=";
varstartOfCookie=myCookie.indexOf(searchName);
varendOfCookie;
if(startOfCookie!
=-1)
{
startOfCookie+=searchName.length;
endOfCookie=myCookie.indexOf(";",startOfCookie);
result=unescape(myCookie.substring(startOfCookie,endOfCookie));
}
returnresult;
}
删除:
functionClearCookie(name)
{
varThreeDays=3*24*60*60*1000;
varexpDate=newDate();
expDate.setTime(expDate.getTime()-ThreeDays);
document.cookie=name+"=;expires="+expDate.toGMTString();
}
Javascript改变HTML
document.getElementByID().innerHTML=''
获取元素:
document.getElementById()
docment.getElementsByTagName()
节点:
parentNode、firstChild以及lastChild,child(x);
节点属性:
每个节点都拥有包含着关于节点某些信息的属性。
这些属性是:
nodeName(节点名称)nodeValue(节点值)nodeType(节点类型)
重要的节点类型是:
元素类型
节点类型
元素
1
属性
2
文本
3
注释
8
文档
9
nodeValue属性用于获取节点的文本值。
getAttribute()方法返回属性的值。
getAttributeNode()方法返回属性节点。
节点删除子节点:
removeChild()方法
nodeValue属性用于改变节点值。
setAttribute()方法用于改变属性的值。
removeChild()方法删除指定节点。
removeAttribute()方法删除指定属性。
replaceChild()方法替换指定节点。
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//创建一个book元素、一个title元素,以及一个text节点
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Hel