JavaScript常用函数总结

原文地址在我的博客, 转载请注明出处,谢谢!

概述

本文总结了JavaScript常用函数,这些函数包括Array常用函数以及String常用函数

JavaScript原生函数

Array常用函数

  • isArray() -判断某个值是不是数组类型
    if(Array.isArray(value)){
        //对数组进行操作
    }
  • join("分隔符")
    var a = [1,2,3,4,5]; 
    var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
  • 栈方法
  • push() -可以接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度:
     var colors = new Array();
     var count = colors.push("red","green");
     console.log(colors);//["red","green"]
     console.log(count);//2
     
  • pop() -从数组末尾移除最后一项,减少数组length值,然后返回移除的项
    var item = colors.pop();
    console.log(item);//"green"
    console.log(colors.length);//1
  • 队列方法
    • shift() -移除数组的第一项并返回该项,同时将数组长度减一
         var item = colors.shift();
         console.log(item);//"red"
         console.log(colors.length);//1
            
      
    • unshift() -在数组前端添加任意个项并返回新数组的长度
         var count = colors.unshift("yellow","black");
         console.log(colors);//["yellow","black","red","green"]
         
    
  • 重排序方法
    • reverse() -反转数组项的顺序
         var values = [1,2,3,4,5];
         console.log(values.reverse());//5,4,3,2,1
         
      
    • sort() -默认情况下按升序排列数组项,即最小的值在前。为了实现排序,sort方法会调用每个数组项的toString(),然后比较字符串,以确定排序。即使数值项是数字,比较的也是字符串,这通常不是最佳方案,因此sort()可以接受一个比较函数作为参数,返回经过排序后的数组
         var values = [0,1,5,10,15];
         console.log(values.sort());//0,1,10,15,5
         
         function compare(value1,value2){
              return value2 - value1;
         }
         console.log(values.sort(compare));//0,1,5,10,15
     ```
    
  • 操作方法
    • concat() -合并数组的意思,可以接受n个字符串或数组。
       var colors = ["red","green","pink"];
       var color2 = colors.concat("bliue",["black","yellow"]);
       //["red","green","pink","blue","black","yellow"]
       
      
    先**创建一个数组副本**,然后将接受到的参数添加到副本末尾,最后返回新构建的数组,**原数组不会受到影响**。
    * `slice()` -**切数组**的意思,接受一到两个数值型参数表示切下的起始结束位置
     ``` javascript
        var colors = ["red","green","pink"];
        var color1 = colors.slice(1);//["green","pink"]
        var color2 = colors.slice(1,2); //["green"]
        
    
    slice()同样不会对原数组产生影响,它会创建一个副本操作后返回。参数可以为负数。
    • splice() -剪接的意思,可以实现数组的删除、插入、替换
      splice(起始位置,删除的项数,插入的项(可以多个项,可选))
      返回从原始数组中删除的项,对原数组直接操作
       var colors = ["red","green","pink"];
       var color1 = colors.splice(0,1);//["green","pink"],删除第一项
       var color2 = colors.splice(1,0,"black"); //["green",“black”,"pink"]
       
    
    • indexOf() -返回查找的项的位置,接受两个参数,indexOf(要查找的项(可选),查找起点位置索引),它会使用===来查
         var colors = ["red","green"];
        
         console.log(colors);//["red","green"]
         console.log(color2);/
         
    
  • 迭代方法
    以下每个迭代函数都会接受两个参数,一个是要在每一项运行的函数和运行在该函数的作用域对象——影响this的值,为数组的每一项运行的给定函数接受三个参数:function(数组的项,该项在对象的位置,数组本身){}
    • every() -如果该函数对每一项都返回true,则返回true
    • filter() -返回该函数会返回true的项组成的数组
    • forEach() -单纯运行给定函数,无返回值
    • map() -返回给定函数运行在数组中的每个项的结果组成的数组
    • some() -如果该函数对任一项返回true,则返回true
          var values = [1,2,3,4,5];
          console.log(values.every(function(item){
                   return (item>2);
           }));//false
          
           console.log(values.some(function(item){
                   return (item>2);
           }));//true
    
            console.log(values.filter(function(item){
                   return (item>2);
           }));//[3,4,5]
    
            console.log(values.map(function(item){
                   return (item*2);
           }));//[2,4,6,8,10]
    
            console.log(values.forEach(function(item){
                   //执行某些操作
           }));
           
    
  • 归并方法
    • reduce() -浓缩的意思,接受一个给定函数(function(pre,cur,index,array){})和作为归并基础的值(可选),迭代数组所有项,返回一个构建的值
         var values = [1,2,3,4,5];
         console.log(values.reduce(function(pre,cur,index,array){
                return pre + cur;
        }));//15
         
      

String常用函数

  • 查找方法
    • 字符串方法
      • charAt(n)返回字符串中第n(0~length-1)个字符;
      • charCodeAt(n)返回字符串中第n个字符的Unicode编码;
      • fromCharCode(0或多个字符的Unicode编码)返回根据字符编码创建的字符串
    • 位置方法
      • indexOf(要查找的字符串,开始查找位置(可选))返回找到的子串首次出现的索引或-1(未找到)。可以用于数组查找项,不能查找对象。
    • 匹配方法
      • match(正则表达式)返回存放匹配结果的数组,正则如果没有加全局标记g那么这个数组会有个input属性,它指向调用match()的字符串对象.未找到返回null.
    var str = "hello,world";
    str.match("he");["he", index: 0, input: "hello,world"]
    str.match(/he/);//["he", index: 0, input: "hello,world"]
    str.match(/he/g);//["he"]
    str.match(/l/g);//["l", "l", "l"]
    
    
    • search(正则表达式)返回字符串中第一个与正则表达式相匹配的子串的索引,忽略全局标记glastIndex属性
    var str = "hello,world";
    str.search("he");//0
    str.search(/he/);//0
    str.search(/he/g);//0
    str.match(/l/g);//2
    
    • replace(正则(字符串),替换文本或函数)创建一个原字符串副本,替代后返回。
    var str = "hello,world";
    str.replace(/l/g,"b");//"hebbo,worbd"
    console.log(str);//"hello,world"
    
    • split(分隔符,(数组长度))返回根据指定分隔符将字符串分割成多个子串组成的数组,这个分隔符必须是原字符串里的某个字符,否则返回原字符串
      javascript var str = "hello,world"; str.split("");//["h", "e", "l", "l", "o", ",", "w", "o", "r", "l", "d"] str.split("o");//["hell", ",w", "rld"] ​
  • 操作方法
    • concat(string,...)返回把所有参数都连接到原字符串后形成的字符串
    • slice(剪切的起始位置,结束位置)返回剪切后的字符串,创建副本,原字符串不变
    • substring()功能与slice相同,不同的是参数不能为负
    • trim()清楚字符串(注意不是字符)前后的空格
  • 编码方法
    • escape(string)unescape(string)返回字符串常规编码(解码)
    • encodeURI(string)decodeURI(string)URI字符串编码与解码
  • 转换方法
    • toUpperCase()toLocaleUpperCase()转为大写
    • toLowerCase()toLocaleLowerCase()转为小写
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • 第三章 基本概念 3.1 语法 ECMAScript标识符一般采用驼峰大小写格式,也就是第一个字母小写,剩下的每个...
    小雄子阅读 526评论 0 1
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,211评论 0 4
  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 1,981评论 1 24
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 1,351评论 0 20
  • 前言:最近在前端这块,发现自己生疏了,连最基本的js都忘的差不多了。于是趁着周末,参考了廖雪峰老师的JS教程以及自...
    SkyLine7阅读 618评论 0 2