随笔 - 312  文章 - 0  评论 - 2  阅读 - 11万

JS:字符串的内置函数(indexOf()、toString()、valueOf())和包装对象

一些字符串的内置函数:

indexOf()

1、indexOf()返回指定的字符串值在字符串中首次出现的位置。如果没有找到则返回 -1。

方法:(searchString: string, position?: number): number

找到字符串中l的位置:

        var str = 'hello';
        var re = str.indexOf('l');
        console.log(re);    //2

找到字符串中是有a:

        var str = 'hello';
        var re = str.indexOf('a');
        console.log(re); //-1

 

toString()

2、toString()把一个逻辑值转换为字符串,并返回结果。

        var str="hello";
        var re=str.toString();
        console.log(re);    //hello

 

valueOf()

3、valueOf()返回 String 对象的原始值。

        var str=new String("hello");
        var re=str.valueOf();
        console.log(str,typeof str,re);

打印结果:

 

包装对象:

这里变量str只是一个字符串原始类型,它怎么会有属性(length)和方法(indexOf()substring())呢?

   原因是:只要引用了字符串str的属性,JavaScript就会将字符串值通过调用new String(str)的方式转换成对象,这个对象继承了字符串(String)对象的方法,并被用来处理属性的引用。一旦属性引用结束,这个新创建的对象就会被销毁

   同字符串一样,数字和布尔值也有各自的方法:通过Number()和Boolean()构造函数创建一个临时对象。存取字符串、数字或布尔值的属性时创建的临时对象就是包装对象。5种原始类型中的剩余两种null和undefined没有包装对象:访问它们的属性会造成一个类型错误(Uncaught TypeError)。

 

posted on   香香鲲  阅读(283)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· 地球OL攻略 —— 某应届生求职总结
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示