JS数据类型判断方式及优缺点、String常用方法

数据类型判断方式及优缺点

JS中一共有七种数据类型:
一种引用类型——Object,
六种基本数据类型——Number、String、Boolean、Null、Undifined、Symbol(ES6新增)

typeof(var):返回的是一个字符串,但是对于复杂数据类型来说,不管是数组Array、日期Date,或者是普通对象,这种方法返回的都是Object,无法更详细的区分。
(var) instranceof (type):但是这种方法在iframe下会产生bug,而且这种方法也无法准确判断Function和Object的类型,因为既可以说函数是个构造方法,也可以说方法是一个对象。
(var).Constructor (type):这种方法在类继承的时候同样有可能产生bug。
Object.prototype.toString.call(var) == ‘[Object (type)]’:完美。

String 各种常用操作

字符串分割

1.slice()、substr()、substring()
一、参数含义上的区别
从0,length-1
开始包含,结尾不包括

第一个参数第二个参数(可选)
slice()开始位置需要返回的子字符串最后一个字符后面的位置
substr()开始位置需要返回的字符个数
substring()开始位置需要返回的子字符串最后一个字符后面的位置
var strValue = "javascript programing";
alert(strValue.slice(3));           //"ascript programing"
alert(strValue.substring(3));       //"ascript programing"
alert(strValue.substr(3));          //"ascript programing"
alert(strValue.slice(3,13));        //"ascript pr"
alert(strValue.substring(3,13));    //"ascript pr"
alert(strValue.substr(3,13));       //"ascript progr"

二、处理负值参数时的区别。

参数的含义不变,只不过参数为负值时,3个子字符串函数会对负值参数进行不同的处理。

第一个参数第二个参数(可选)备注
slice()将负值与字符串的长度相加将负值与字符串的长度相加
substr()将负值与字符串的长度相加将负值变为0
substring()将负值变为0将负值变为0负值处理后,该函数会将较小的数作为开始位置,较大的数作为结束位置
var strValue = "javascript programing";//strValue.length()=21
alert(strValue.slice(-3));        => alert(strValue.slice(18));       //"ing"
alert(strValue.substring(-3));    => alert(strValue.substring(0));    //"javascript programing"
alert(strValue.substr(-3));       => alert(strValue.substr(18));      //"ing"
alert(strValue.slice(3,-13));     => alert(strValue.slice(3,8));      //"ascri" 
alert(strValue.substring(3,-13)); => alert(strValue.substring(0,3));  //"jav"
alert(strValue.substr(3,-13));    => alert(strValue.substr(3,0));     //""

参考:https://www.cnblogs.com/kongxianghai/archive/2013/03/08/2950149.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值