当前位置: 首页 > Web前端 > HTML5

最喜欢的21个Javascript技巧

时间:2023-04-05 19:07:48 HTML5

本文列出了21个值得收藏的Javascript技巧。在实际工作中,如果能够正确使用它们,将会大大提高工作效率。  1将Javascript数组转换为CSV格式  首先考虑下面的应用场景,有一个Javscript字符(或数字)数组,现在需要将其转换为逗号分隔的CSV格式文件。那么我们可以使用下面的trick,代码如下:``];``var``str=fruits.valueOf();`  输出:apple,peaches,oranges,mangoes  其中,valueOf()方法会将Javascript数组转换成字符串分隔用逗号。需要注意的是,如果不想使用逗号,比如|,请使用join方式,如下:`var``fruits=[``'apple'``,``'peaches'``,``'橘子'``,``'芒果'``];``var``str=fruits.join(``"|"``);`  输出:apple|peaches|oranges|mangoes  2将CSV格式的字符串转换回Javscript数组  那么如何将CSV格式的字符串转换回Javascript数组呢?可以使用split()方法,可以使用任意指定字符分隔,代码如下:`var``str=``"apple,peaches,oranges,mangoes"``;``var``fruitsArray=str.split(``","``);`  outputfruitsArray[0]:apple  3根据索引去除数组中的一个元素  如果需要从Javascript数组中移除一个元素,可以使用splice方法。该方法会根据输入参数n(从Javascript数组的第0个位置开始计算)从数组中移除第n个元素。`function``removeByIndex(arr,index){``arr.splice(index,1);``}``test=``new``Array();``test[0]=```Apple'``;``test[1]=``'Ball'``;``test[2]=``'Cat'``;``test[3]=``'Dog'``;``alert(``"删除元素前的数组:"``+test);``removeByIndex(test,2);``alert(``"删除元素后的数组:"``+test);`  then最终输出为Apple,Ball,Dog  4根据元素的值删除数组元素中的值  下面这个技巧很实用,就是根据给定的删除数组中的元素值,代码如下:`function``removeByValue(arr,val){``for``(``var``i=0;i``………```  是写onbeforeunload()事件的代码  8检查后退键是否被按下  同样可以检查用户是否按下返回键,代码如下:`window.onbeforeunload=``function``(){``return``"Youworkwillbelost."``;``};`  9查看表格数据是否更改  有时,需要检查用户是否修改了表单内容,可以使用下面的技巧,如果表单内容被修改则返回true,如果表单内容没有被修改则返回false。代码如下:``function``formIsDirty(form){``for``(``var``i=0;i```  11删除用户在多选框中选中的item  下面提供的技巧是当用户在下拉框中选中多个item时一次性删除.代码如下:`function``selectBoxRemove(sourceID){``//获取listbox的id``var``src=document.getElementById(sourceID);``//循环listbox``for``(``var``count=src.options.length-1;count>=0;count--){``//如果找到要删除的选项,则删除``if``(src.options[count].selected==``true``){``try``{``src.remove(count,```null``);``}``catch``(错误){``src.remove(count);``}``}``}``}`  12全选Listbox全选  对于指定的listbox,下面的方法可以根据用户的需要传入true或者false,代表是否选中listbox中的所有项,或者不选中所有项,代码如下:`function``listboxSelectDeselect(listID,isSelect){``var``listbox=document.getElementById(listID);``for``(``var``count=0;count(listbox.options.length-1)){``return``;``}``var``selValue=listbox.options[selIndex].value;``var``selText=listbox.options[selIndex].text;``listbox.options[selIndex].value=listbox.options[selIndex+increment].value``listbox.options[selIndex].text=listbox.options[selIndex+increment].text``listbox.options[selIndex+increment].value=selValue;``listbox.options[selIndex+increment].text=selText;``listbox.selectedIndex=selIndex+increment;``}``//。.``//..``listbox_move(``'countryList'``,``'up'``);``//上移选中的选项``listbox_move(``'countryList'``,``'down'``);``//将选中的选项下移`14在两个不同的Listboxes中移动项目  如果在两个不同的Listboxes中,经常需要移动items从左边的一个Listbox到另一个Listbox,下面是相关代码:=document.getElementById(destID);``for``(``var``count=0;count[http://viralpatel.net](http://viralpatel.net/);`  21编码URL  有时,需要对传入的URL进行编码,方法如下:`var``myOtherUrl=``"[http://example.com/index.html?url=](http://example.com/index.html?url=)"``+encodeURIComponent(myUrl);`