js中的常用函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的常用函数相关的知识,希望对你有一定的参考价值。
参考技术A 下面介绍全页面刷新方法:有时候可能会用到window.location.reload()刷新当前页面.
parent.location.reload()刷新父亲对象(用于框架)
opener.location.reload()刷新父窗口对象(用于单开窗口)
top.location.reload()刷新最顶端对象(用于多开窗口)
下面再介绍一些javascript基本函数
1.document.write(”");为 输出语句
2.js中的注释为//
3.传统的html文档顺序是:document->html->(head,body)
4.一个浏览器窗口中的dom顺序是:window->(navigator,screen,history,location,document)
5.得到表单中元素的名称和值:document.getelementbyid(”表单中元素的id号”).name(或value)
6.一个小写转大写的js: document.getelementbyid(”output”).value = document.getelementbyid (”input”).value.touppercase();
7.js中的值类型:string,number,boolean,null,object,function
8.js中的字符型转换成数值型:parseint(),parsefloat()
9.js中的数字转换成字符型:(”"+变量)
10.js中的取字符串长度是:(length)
11.js中的字符与字符相连接使用+号.
12.js中的比较操作符有:==等于,!=不等于,>,>=,<.<=
13.js中声明变量使用:var来进行声明
14.js中的判断语句结构:if(condition)else
15.js中的循环结构:for([initial expression];[condition];[upadte expression]) inside loop
16.循环中止的命令是:break
17.js中的函数定义:function functionname([parameter],…)statement[s]
18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.
19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self
20.状态栏的设置:window.status=”字符”;
21.弹出提示信息:window.alert(”字符”);
22.弹出确认框:window.confirm();
23.弹出输入提示框:window.prompt();
24.指定当前显示链接的位置:window.location.href=”url”
25.取出窗体中的所有表单的数量:document.forms.length
26.关闭文档的输出流:document.close();
27.字符串追加连接符:+=
28.创建一个文档元素:document.createelement(),document.createtextnode()
29.得到元素的方法:document.getelementbyid()
49.引用一个文件式的js:
50.指定在不支持脚本的浏览器显示的html:
51.当超链和onclick事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例: dfsadf
52.js 的内建对象 有:array,boolean,date,error,evalerror,function,math,number,object,rangeerror,referenceerror,regexp,string,syntaxerror,typeerror,urierror
53.js中的换行:/n
54.窗口全屏大小:function fullscreen() this.moveto(0,0);this.outerwidth=screen.availwidth;this.outerheight=screen.availheight;window.maximize=fullscreen;
55.js中的all代表其下层的全部元素
56.js中的焦点顺序:document.getelementbyid(”表单元素”).tabindex = 1
57.innerhtml的值是表单元素的值:如how are you,则innerhtml的值就是:how are you
58.innertext的值和上面的一样,只不过不会把em这种标记显示出来.
59.contenteditable可设置元素是否可被修改,iscontenteditable返回是否可修改的状态.
60.isdisabled判断是否为禁止状态.disabled设置禁止状态
61.length取得长度,返回整型数值
62.addbehavior()是一种js调用的外部函数文件其扩展名为.htc
63.window.focus()使当前的窗口在所有窗口之前.
64.blur()指失去焦点.与focus()相反.
65.select()指元素为选中状态.
66.防止用户对文本框中输入文本:onfocus=”this.blur()”
67.取出该元素在页面中出现的数量:document.all.tags(”div(或其它html标记符)”).length
68.js中分为两种窗体输出:模态和非模态.window.showmodaldialog(),window.showmodeless()
69.状态栏文字的设置:window.status=‘文字’,默认的状态栏文字设置:window.defaultstatus = ‘文字.’;
70.添加到收藏夹:external.addfavorite(”http://www.google.com”,”google”);
71.js中遇到脚本错误时不做任何操作:window.onerror = donothing; 指定错误句柄的语法为:window.onerror = handleerror;
72.js中指定当前打开窗口的父窗口:window.opener,支持opener.opener…的多重继续.
73.js中的self指的是当前的窗口
74.js中状态栏显示内容:window.status=”内容”
75.js中的top指的是框架集中最顶层的框架
76.js中关闭当前的窗口:window.close();
77.js中提出是否确认的框:if(confirm(”are you sure?”))alert(”ok”);elsealert(”not ok”);
78.js中的窗口重定向:window.navigate(”http://www.google.com”);
79.js中的打印:window.print()
80.js中的提示输入框:window.prompt(”message”,”defaultreply”);
81.js中的窗口滚动条:window.scroll(x,y)
82.js中的窗口滚动到位置:window.scrollby
83.js中设置时间间隔:setinterval(”expr”,msecdelay)或setinterval(funcref,msecdelay)或settimeout
84.js中的模态显示在ie4+行,在nn中不行:showmodaldialog(”url”[,arguments][,features]);
85.js中的退出之前使用的句柄:function verifyclose()event.returnvalue=”we really like you and hope you will stay longer.”; window.onbeforeunload=verifyclose;
86.当窗体第一次调用时使用的文件句柄:onload()
87.当窗体关闭时调用的文件句柄:onunload()
88.window.location的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname(”/a/a.html”),hash(”#giantgizmo”,指跳转到相应的锚记),href(全部的信息)
89.window.location.reload()刷新当前页面.
89-1.parent.location.reload()刷新父亲对象(用于框架)
89-2.opener.location.reload()刷新父窗口对象(用于单开窗口)
89-3.top.location.reload()刷新最顶端对象(用于多开窗口)
90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的url)
91.document.write()不换行的输出,document.writeln()换行输出
92.document.body.nowrap=true;防止链接文字折行.
93.变量名.charat(第几位),取该变量的第几位的字符.
94.”abc”.charcodeat(第几个),返回第几个字符的ascii码值.
95.字符串连接:string.concat(string2),或用+=进行连接
96.变量.indexof(”字符”,起始位置),返回第一个出现的位置(从0开始计算)
97.string.lastindexof(searchstring[,startindex])最后一次出现的位置.
98.string.match(regexpression),判断字符是否匹配.
99.string.replace(regexpression,replacestring)替换现有字符串.
100.string.split(分隔符)返回一个数组存储值.
101.string.substr(start[,length])取从第几位到指定长度的字符串.
102.string.tolowercase()使字符串全部变为小写.
103.string.touppercase()使全部字符变为大写.
104.parseint(string[,radix(代表进制)])强制转换成整型.
105.parsefloat(string[,radix])强制转换成浮点型.
106.isnan(变量):测试是否为数值型.
107.定义常量的关键字:const,定义变量的关键字:var
js正则及常用方法函数总结
正则表达式作为一种匹配处理字符串的利器在很多语言中都得到了广泛实现和应用,web开发本质上是处理字符串(服务端接受请求处理后拼接字符串作为响应,这在早期的CGI编程中最明显,然后客户端解析字符串进行渲染和执行),所以说,JS作为一门常用于web开发的语言,必然要具备正则这种强大的特性,本文将对JS中的正则用法及常用函数进行一番总结。
1.正则对象及其属性
首先正则对象是JS中内置的一个对象,好比Array以及Math一样,不需要第三方库的支持,通常我们采取两种方式来定义一个正则对象
1)构造函数方式
var reg=new RegExp(‘abc‘,‘gi‘);
这里,第一个参数是正则的内容,第二个参数是修饰符,修饰符通常有三种,i,g,m,i表示的含义是忽略大小写进行匹配,g表示全局匹配即匹配到第一个之后不停止继续匹配,m表示多行匹配即遇到换行后不停止匹配继续直到被匹配字符串结束。
2)字面量方式
var reg=/abc/gi;
两个斜杠之间的是定义的正则内容,最后一个斜杠之后的是修饰符,这种方式比第一种简单高效,所以通常使用第二种方式来定义正则。
其次,正则作为JS中的一个内置对象,它必然有一些属性和方法,如下:
2.属性
在控制台中打印一个正则对象如下:
可以看到它拥有global属性,该属性为布尔类型,用来表示该正则是否是全局匹配,ignoreCase属性,布尔类型,用来指示是否忽略大小写,lastIndex为number类型,用来表示上次匹配成功的位置,multiline,布尔类型,用来表示是否是多行匹配,source,string类型,用来表示正则的内容。
3.方法
通常对于一个正则对象来讲,我们能够使用的方法基本上有三个,即regObj.test,regObj.exec及regObj.compile
1)test方法,该方法用来测试某个字符串是否与正则匹配,匹配就返回true,否则返回false。
该方法接受一个字符串作为参数
代码:
var reg=/boy(s)?s+ands+girl(s)?/gi; console.log(reg.test(‘boy and girl‘));
结果在控制台上打印出了true。该方法也是最常用的一个方法。
2)compile方法
该方法的作用是能够对正则表达式进行编译,被编译过的正则在使用的时候效率会更高,适合于对一个正则多次调用的情况下,如果对一个正则只使用一两次,那么该方法没有特别显著的效应。
接受的参数也是一个正则。
代码:
var reg=/[abc]/gi; console.log(reg.test(‘a‘)); reg=/[cde]/gi; console.log(reg.test(‘a‘)); reg.compile(reg); console.log(reg.test(‘a‘));
结果:
被编译的正则和没有编译的正则在测试结果上没有任何区别,只是多次调用的效率上会更高一些。
3)exec方法
该方法属于一个比较复杂的方法,它接受一个字符串,返回的是一个数组,数组中第0个元素是匹配的子字符串,第二个元素是正则中的第一个子分组匹配的结果(如果有子分组,即正则中存在用圆括号括起来的分组),第三个是正则中第二个子分组匹配的结果(如果有第二个子分组)...以此类推,如果没有正则子分组,那么该数组长度仅仅为1,就是匹配到的那个子字符串。同时,返回的这个数组同时还是一个对象,它拥有两个属性,分别为index表示当前匹配到的子字符串所处的位置,input属性表示被匹配的原始字符串。最后,该方法中的正则对象如果不是全局匹配,即没有g修饰符,则每次调用只会从字符串开头处匹配第一个结果,且每次调用结果都是一样的。只有指定为全局匹配,才能够按照从左往右依次去匹配,每次调用匹配一个结果,正则对象的lastIndex属性前进到本次匹配的末尾位置,下回再调用的时候,会从lastIndex处开始匹配而不是从头匹配。
全局匹配代码:
var reg=/(w)l(w)/g; var str="hello world hello 123 hello programmer hello test"; var arr=reg.exec(str); while(arr){ console.dir(arr); console.log("lastIndex:"+reg.lastIndex); arr=reg.exec(str); }
结果如下:
非全局匹配代码:
var reg=/(w)l(w)/; var str="hello world hello 123 hello programmer hello test"; var arr=reg.exec(str); var i=0; while(arr){ i++; if(i<=4){ console.dir(arr); console.log("lastIndex:"+reg.lastIndex); arr=reg.exec(str); } else{ break; } }
这里为了防止无限输出,只输出前5个结果,如下:
这个时候每次调用的结果都一样,lastIndex根本没有发生变化。
以上就是正则对象及其方法,其实在使用的过程中,JS中的String类型的对象也拥有一些和正则相关的方法,如下:
1)search方法
该方法是string对象的一个方法,用来查找第一次匹配的子字符串的位置,如果找到就返回一个number类型的index值,否则返回-1,它返回的只是第一次匹配的位置。
它接受一个正则或者子字符串为参数,这里我们只讨论正则的情况。
代码:
var str="hello world"; console.log(str.search(/o/g));
输出结果为4,可以看到尽管具有多个匹配结果而且也声明为全局匹配,但是还是返回的是第一个匹配到的子串的位置;
2)replace方法
该方法用来将字符串中的某些子串替换为需要的内容,接受两个参数,第一个参数可以为正则或者子字符串,表示匹配需要被替换的内容,第二个参数为被替换的新的子字符串。如果声明为全局匹配则会替换所有结果,否则只替换第一个匹配到的结果。
代码如下:
var str="hello world,hello test"; console.log(str.replace(/hello/g,‘hi‘));
结果为hi world,hi test
如果将上面代码中的g修饰符去掉,则返回的结果是hi world,hello test
3)split方法
该方法主要用来将一个字符串拆分成一个数组,它接受一个正则或者子字符(串)作为参数,返回一个数组,简单情况下,我们不需要使用正则,只有在字符串拆分规则不统一的情况下才需要使用正则,如下:
var str="how|old*are you"; var arr=str.split(/||*|s+/); console.log(arr);
这里需要将str拆分为单词数组,由于每个单词之间存在不一样的分隔符,我们采取正则来匹配,结果如下:
4)match方法
该方法接受一个正则作为参数,用来匹配一个字符串,它的输出结果在不是全局匹配的情况下和exec方法的结果一致即一个数组并带有额外的属性,如果采用全局匹配,则不返回任何和其被匹配字符串相关的信息,只返回匹配的结果。
非全局匹配代码:
var reg2=/(w)s(w)/; var str2="ws1esr"; var result=str2.match(reg2); var i=0; while(result){ i++; if(i<=4){ console.dir(result); console.log("lastIndex:"+reg2.lastIndex); } else{ break; } }
结果如下:
非全局匹配下,结果和exec非全局匹配方法返回的完全一致,
全局匹配代码:
var reg3=/(w)s(w)/g; var str4="ws1estqsa"; console.dir(str4.match(reg3));
结果如下:
可以看到,在全局匹配下的时候,它不同于exec方法,它会一次性将所有匹配结果以数组形式返回,且这个数组没有其他属性用来指向被匹配字符串的信息,而exec方法在全局匹配下每次返回的依然是本次匹配的结果数组,且这个数组中只包含本次匹配信息,同时又拥有指向被匹配字符串的信息,即match方法在全局匹配下一次性返回了所有匹配结果,而exec在全局匹配下返回的依然是当次匹配结果。
以上是关于js中的常用函数的主要内容,如果未能解决你的问题,请参考以下文章