JS取出最后的三个字符

JavaScript014

JS取出最后的三个字符,第1张

获取后缀名的代码如下:

1、 fileName = this.file.name.lastIndexOf(".")//获取到文件名开始到最后一个“.”的长度。

2、 fileNameLength = this.file.name.length//获取到文件名长度

3、 fileFormat = this.file.name.substring(fileName + 1, fileNameLength)//截取后缀名

4、 console.log(fileFormat)//打印结果(如图)

扩展资料:

1、LastIndexOf( ) 返回指定字符在此字符串中第一次出现处的索引。返回值:Number,lastIndexOf("可以是字符或者字母和文字");示例:lastIndexOf(".");

2、Length是当前匹配的元素数量。返回值:Number,示例:fileName.length

3、Substring( )截取指定的字符串,返回一个新字符串。该子字符串从指定的第一个参数处开始, 到指定的第二个参数处结束。示例:Substring(5,9)意思是截取字符串索引从5到9的新的字符串。

参考资料:

百度百科-LastIndexOf

百度百科-Length

百度百科-Substring

1 .当一个对象的属性是自己的时候,使用JSON.stringify或者一般的没有处理的deepClone的时候会发现栈溢出

1 .json序列化的时候,序列化的对象尽量避免循环依赖,子类不定义与父类相同名称的成员,避免定义非成员变量的getter、setter方法

1 .出现循环引用的时候算是bug么?要怎么处理

2 .webpack里面也会有这种情况,循环依赖a-b-c-a

3 .对象存在循环引用的时候,打印不会出现栈溢出,深拷贝的时候,才会的导致栈溢出

1 .定义了引用类型的变量后该变量存的是堆内存的地址,通过地址访问堆内存的数据,从而产生了引用。而基本数据类型定义后存储的是数据值,不需要引用

2 .在js中对两个引用类型使用 === 判断是对两者的地址进行判断

3 .所以判断是否存在循环引用,可以简单定义为对象内部的属性是否和对象本身的地址相同

1 .去除对象中涉及到的循环引用的属性.消除循环引用JSON.decycle方法可以解除循环

2 .将循环引用中的一个对象缓存起来,以避免重复序列化或者创建