1.Substring(x,y) : 输出一个字符串,当其中只有一个参数时,会输出从x开始到结尾的String。

举例:

var str="hello";
       console.log(str.substring(1));

输出结果为ello

如果有两个参数,则会输出从x到y的值,值得注意的时候,这里的x ,y可以理解成一个

(x, y]的区间,即不包含第x个元素,但包含第y个元素, x,y均从1开始计算

举例:

var str="helloworld";
       console.log(str.substring(2,5));

输出结果为llo。

另外当x<y的情况时,系统会自动调整x,y的位置并输出也就是说

var str="helloworld";
       console.log(str.substring(5,2));

这俩个结果是一样的。

如y为负值,则直接输出为x之前的字符串

举例

var str="helloworld";
       console.log(str.substring(3,-5));

结果为hel;

2.Substr(x,y): 和substring不同,substr内的x,y属性分别代表元素的起始位置,及输出的元素长度。举例:

var str="helloworld";
       console.log(str.substr(2,5));

输出结果为:llowo

因为x,y两个参数的属性不同,所以相互调换位置时,并没有歧义,而是正常输出。但当y为负值时,则为空。

举例:

var str="helloworld";
       console.log(str.substr(3,-5));

结果为空

3.slice(x,y) 和substring类似,都是返回一个(x, y]区间的字符串,唯一不同需要注意的情况是,如果x>y的情况发生,则会产生一个空,而不会自动调换位置。举例:

var str="helloworld";
       console.log(str.slice(2,5));

输出结果为llo

var str="helloworld";
       console.log(str.slice(5,2));

结果为空

特别注意,在这里y可以为负值。输出的的是y+length之后的长度,举例:

var str="helloworld";
       console.log(str.slice(3,-2));

输出结果为 其length值为10,则真实输出应为

3,(10-2); 结果为lowor

substring,substr,和slice的区别详解。的更多相关文章

  1. JS中数组和字符串具有的方法,以及substring,substr和slice的用法与区别

     String 对象属性 属性 描述 constructor 对创建该对象的函数的引用 length 字符串的长度 prototype 允许您向对象添加属性和方法 String 对象方法 方法 描述 ...

  2. Bind和Eval的区别详解

    原文:Bind和Eval的区别详解 1.简单描述Eval和Bind的区别 绑定表达式 <%# Eval("字段名") %> <%# Bind("字段名& ...

  3. Go学习——new()和 make()的区别详解(转载)

    这篇文章主要介绍了Go语言中new()和 make()的区别详解,本文讲解了new 的主要特性.make 的主要特性,并对它们的区别做了总结,需要的朋友可以参考下 概述 Go 语言中的 new 和 m ...

  4. linux中cat、more、less命令区别详解##less 最合适最好用,和vim一样好用

    linux中cat.more.less命令区别详解 caoxinyiyi关注 0.0362018.07.02 15:46:17字数 641阅读 516 linux中命令cat.more.less均可用 ...

  5. 基于Java的打包jar、war、ear包的作用与区别详解

      本篇文章,小编为大家介绍,基于Java的打包jar.war.ear包的作用与区别详解.需要的朋友参考下   以最终客户的角度来看,JAR文件就是一种封装,他们不需要知道jar文件中有多少个.cla ...

  6. Android中Intent传值与Bundle传值的区别详解

    Android中Intent传值与Bundle传值的区别详解 举个例子我现在要从A界面跳转到B界面或者C界面   这样的话 我就需要写2个Intent如果你还要涉及的传值的话 你的Intent就要写两 ...

  7. php 去除html标记--strip_tags与htmlspecialchars的区别详解

    php 去除html标记--strip_tags与htmlspecialchars的区别详解 作者: 字体:[增加 减小] 类型:转载 时间:2013-06-26   本篇文章是对php中去除html ...

  8. HTTP POST GET 本质区别详解

    HTTP POST GET 本质区别详解 一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式:在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Ht ...

  9. javascript中=、==、===区别详解

    javascript中=.==.===区别详解今天在项目开发过中发现在一个小问题.在判断n==""结果当n=0时 n==""结果也返回了true.虽然是个小问题 ...

随机推荐

  1. WPFの静态资源(StaticResource)和动态资源(DynamicResource)

    下面是前台代码: <Window.Resources>        <TextBlock x:Key="res1" Text="好好学习"/ ...

  2. MySQL 常用命令

    mysql -uroot -pXXXXXXXXX //登陆mysql mysqladmin -u 用户名 -p 旧密码 password 新密码 创建数据库并分配用户 create database ...

  3. [问题2014A02] 解答三(降阶公式法)

    [问题2014A02] 解答三(降阶公式法) 将矩阵 \(A\) 写成如下形式: \[A=\begin{pmatrix} -2a_1 & 0 & \cdots & 0 & ...

  4. [问题2014S04] 复旦高等代数II(13级)每周一题(第四教学周)

    [问题2014S04]  设 \(A\in M_n(\mathbb{C})\) 为可对角化的 \(n\) 阶复方阵, \(f(x)\in\mathbb{C}[x]\) 为复系数多项式, 证明: \[B ...

  5. 各版本Office办公软件下载

    各版本Office办公软件下载:http://pan.baidu.com/share/home?uk=1174874628

  6. Oracle_下载地址

    1.http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html 1.1.现在(20161 ...

  7. hdu2457DNA repair(ac自动机+dp)

    链接 从开始节点往下走,不能走到病毒节点,如果当前状态与原始串不一样就+1,取一个最小值. #include <iostream> #include<cstdio> #incl ...

  8. Lambert漫反射.BLinnPhong及Phong模型 Unity自带的在Lighting.cginc里

    1.漫反射 此模型属于经验模型,主要用来简单模拟粗糙物体表面的光照现象 此模型假设物体表面为理想漫反射体(也就是只产生漫反射现象,也成为Lambert反射体),同时,场景中存在两种光,一种为环境光,一 ...

  9. vim 替换操作

    全局替换真正使用的是两个ex命令 g(global) 和 :s(switch) 1.替换命令语法 :s/old/new/ 这将把当前模式中的第一个old替换为new 2.替换命令语法 :s/old/n ...

  10. angular.js学习笔记

    1.带ng-repeat的标签  会重复这个标签及其内部的内容,直至x循环完 比如 <tr ng-repeat="x in names | orderBy : 'Name'" ...