万恶的输入法,在sublime中会显示出繁体字,各位看官见谅。

1.slice()方法:该方法在数组和string对象中都拥有。

var a = [1,2,3,4,5,6];
var s = 'this is a string';
console.log(a.slice(1,3));//結果為 [2,3];
console.log(a.slice(-1);//結果為6;
console.log(s.slice(1,3));//結果為 hi;
console.log(s);//結果為 this is a string;
//obj.slice(i,j);其中i為必須,其為從何處開始截取。如果為負數的話,那麼將會從尾數開始截取,-1指倒數一個,-2表示倒數第二個
//同時j為選填項,是數組片段結束處的數組下標。如果為負數,則從尾部算起。
console.log(a);//[1,2,3,4,5,6],注意該方法並不會修改數組,而是返回一個子數組。

2.splice()方法:非常强大的一个数组删改方法。与slice相比,其会改变数组本身

var a = [1,2,3,4,5,6];
console.log(a.splice(2));//[3, 4, 5, 6]
//splice(i,j,item)其中i為必須,其為從何處開始截取。如果為負數的話,那麼將會從尾數開始截取
//其中j必填項,為要截取的項目數量,為0的話,那麼其不會對數組進行刪改,
var b = [2,6,8,5,7];
console.log(b.splice(2,0,5,6,7));// []
console.log(b);//[2, 6, 5, 6, 7, 8, 5, 7]
//splice()會返回被刪除的項目;

3.substr()方法

var str = 'this is a string';
console.log(str.substr(2,3));//is
console.log(str);//this is a string
//substr()用於返回一個從指定位置開始的指定長度的子字符串
//substr(i,j);i必須,所需的子字符串的起始位置,字符串中的第一個字符串。
//j為返回字符串中包含的字符個數,注意:如果i為負數,那麼i=str.length+i;如果j為負數,則返回一個空字符串。
//其不會改變字符串本身;

由于ECMAscript中并没有将这个进行标准化,所以不推荐使用这个

4.substring()

var str = 'abcdefg';
//其返回一個包含i,不包含end的子串
//substring(i,j) i為必須,如果i=j,則返回一個空串,
console.log(str.substring(5,1));//bcde
//如果i<j,那麼在提取子串之前會先交換這兩個參數,
console.log(str);//abcdefg
//如上面可見,substring不會對字符串進行刪改
console.log(str.substring(-4));//abcdefg
console.log(str.substring(3,-1));//abc
//如果i或j為負數,那麼它將被替換成0

5.split()方法:

var str = 'ab c e f g';
console.log(str.split('',));//["a", "b", " "]
console.log(str);//ab c e f g
console.log(str.split(' '));//["ab", "c", "e", "f", "g"]
console.log(str.split(''));//["a", "b", " ", "c", " ", "e", " ", "f", " ", "g"]
console.log(str.split('',));//["a", "b", " "]

JavaScript中的slice,splice,substr,substring,split的区别的更多相关文章

  1. slice,splice,substr,substring函数的区别

    slice: 语法:array.slice(startIndex,endIndex); 参数: startIndex:必须,规定从何处开始选取,如果为负则从尾部开始计算 : endIndex:可选,规 ...

  2. JavaScript 中定义变量时有无var声明的区别

    关于JavaScript中定义变量时有无var声明的区别 var a=5; //正确 a=5; //正确 在javascript中,以上两种方法都是定义变量的正确方法.微软的Script56.CHM中 ...

  3. JavaScript中querySelector()和getElementById()(getXXXByXX)的区别

    在日常开发中,使用JavaScript获取元素的时候,最常用的方法就是document.getElementById(getXXXByXX)方法.但是最近发现有很多地方使用的是querySelecto ...

  4. javascript中的slice()方法

    JavaScript中的Array对象提供了一个slice()方法,用于从已有的数组中返回选定的元素. arrayObject.slice(start, end) 参数说明 start 必需(否则没有 ...

  5. JavaScript中的 函数splice() 的使用。

    大二接触JavaScript初期,学习函数中有一道题: 定义一个2个参数的函数.第1个参数是一个数组,第2个参数是需要删除的元素.函数功能,在第1个实参数组中查找第2个实参提供的值,找到则删除该元素( ...

  6. 巧用Javascript中的slice()

    slice()是Javascript中Array的一个方法,定义是这样的. arrayObject.slice(start,end)作用是从原数组中从start到end位置截取出一个新的数组,返回值是 ...

  7. JavaScript中instanceof与typeof运算符的用法及区别详细解析

    JavaScript中的instanceof和typeof常被用来判断一个变量是什么类型的(实例),但它们的使用还是有区别的: typeof 运算符 返回一个用来表示表达式的数据类型的字符串. typ ...

  8. javaScript中的return,break,continue的区别

    导语: javaScript中有三种方法可以跳出循环或者终止循环.分别为break.return.continue. 正文: 一.break break 会使得整个程序终止执行或者包含了最内层的循环或 ...

  9. JavaScript中的三种弹出框的区别与使用

    JavaScript中有三种原生的弹出框,分别是alert.confirm.prompt.分别表示弹出框.确认框.信息框. 以下是示例代码: <!DOCTYPE html> <htm ...

随机推荐

  1. SQL Server 2014聚集列存储索引

    转发请注明引用和原文博客(http://www.cnblogs.com/wenBlog) 简介 之前已经写过两篇介绍列存储索引的文章,但是只有非聚集列存储索引,今天再来简单介绍一下聚集的列存储索引,也 ...

  2. HP服务器 hp 360g5 centos7安装问题

    HP服务器  hp 360g5 centos7安装问题 一 :启动盘无法识别硬盘 1.进入安装光盘,用上下键选择安装centos--Install Centos7(注意不可按Enter键),如图: 2 ...

  3. Linux监控工具介绍系列——vmstat

      说来惭愧,玩Linux这么久了,居然没有玩转vmstat这个命令,对很多指标的具体意义都有点模糊不清,花了点时间好好学习.整理一下这个命令的相关资料.因为这个命令确实比较重要,而且频繁用到. 命令 ...

  4. Spring代理模式及AOP基本术语

    一.代理模式: 静态代理.动态代理 动态代理和静态代理区别?? 解析:静态代理需要手工编写代理类,代理类引用被代理对象. 动态代理是在内存中构建的,不需要手动编写代理类 代理的目的:是为了在原有的方法 ...

  5. Nodejs之MEAN栈开发(六)---- 用Angular创建单页应用(上)

    在上一节中我们学会了如何在页面中添加一个组件以及一些基本的Angular知识,而这一节将用Angular来创建一个单页应用(SPA).这意味着,取代我们之前用Express在服务端运行整个网站逻辑的方 ...

  6. MySQL对时间戳的转换处理

    开发中很多时候在数据库里都会存储Long类型的时间戳,而时间戳做比对会相对麻烦 我的绝决方案: SELECT FROM_UNIXTIME(LEFT(create_time,10), '%Y-%m-%d ...

  7. Atitit.每月数据采集与备份 v4

    Atitit.每月数据采集与备份 v4 备份检查表 r12 00cate 00item im Inputmethod  ok ok Log Log ok cyar Cyar log  ... ok c ...

  8. ASP.NET MVC5+EF6+EasyUI 后台管理系统(5)-EF增删改查

    系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 回顾上一节的解决方案,我们看出了解决方案中类库的关系 这里要说明一点MVC!=三层 他们大约是这样的一种关系 代码实现 上 ...

  9. Android性能优化之App应用启动分析与优化

    前言: 昨晚新版本终于发布了,但是还是记得有测试反馈app启动好长时间也没进入app主页,所以今天准备加个班总结一下App启动那些事! app的启动方式: 1.)冷启动      当启动应用时,后台没 ...

  10. 快速开发框架CRL3.0发布,附带最新的项目示例CRLShoppingDemo

    继上次使用CRL实现大数据分库分表方案升级到2.4,时隔不久又升级到了大版本号3.0,主要是因为结构发生了一些更改 ORM和业务封装Package分开了,增加了实例项目演示代码CRLShoppingD ...