JS新建构造器实现内建String()的方法和属性-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

JS新建构造器实现内建String()的方法和属性

2016-06-01 11:01:15 2348 1

在String()构造器不存在的情况下自定义一个MyString()函数,实现如下内建String()方法和属性:

 var s = new MyString(“hello”);
s.length;  //5
s[0];  //"h"
s.toString();  //"hello"
s.charAt(1);  //"e"
s.charAt("e");  //"h"  (这个是怎么来的???)
s.slice(0,-1);  //"hell"
s.split("e");  //["h","llo"]
s.reverse();  //"olleh"

题目提示用把字符串当做数组用for循环遍历,(但是用for循环不就会用到“.length”属性了吗?)请教大家,谢谢!

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:22:53

    这个和之前的MyArray是相同的思想,都是数据结构封装。
    之前我给你说[]不好实现,原来是我理解偏差,非要设计成函数构造器调用模式就陷入进去了。
    刚才我想想,其实这个[]不是自己实现的,利用数组才能完成。
    所以数组是核心,既然js中一切是对象,那么数组也是,可以像函数一样添加别的属性和方法。
    题目提示用把字符串当做数组用for循环遍历,(但是用for循环不就会用到“.length”属性了吗?)
    在js以及python等语言中有一个 辅助的for循环 是 for-in循环
    可以用来便利一个可迭代的对象,比如字符串,数组,列表,元组等数据对象
    所以便利一个字符串可以使用for-in
    screenshot
    既然这样你可以用它把一个字符串转化成一个字符数组

    var MyString = function(str){
    ... var list = [];
    ... for(var c in str){
    ..... list.push(c);
    ..... }
    ... 
    ... list.toString = function(){
    ... var str = "";
    ... for(var p in list){
    ..... str = str+p;
    ..... }
    ... return str;
    ... }
    ... 
    ... list.charAt = function(index){
    ... return list[index];
    ... }
    return list;
    ... }
    0 0
相关问答

0

回答

我用PG连接器 能读取历史数据吗?

2022-08-10 17:15:01 67浏览量 回答数 0

1

回答

String对象提供的唯一独特的属性是什么?

2022-04-03 23:43:12 198浏览量 回答数 1

1

回答

HTTP 响应报头方法 String encodeURL(String url)是什么意思?

2021-12-02 20:05:02 73浏览量 回答数 1

1

回答

数据读取器包含多个字段。多个字段对于 EDM 基元或枚举类型无效。?报错

2020-06-14 16:36:34 347浏览量 回答数 1

2

回答

String 属于基础的数据类型吗?

2020-01-03 13:20:03 639浏览量 回答数 2

1

回答

你对String对象的intern()熟悉么?

2019-12-02 15:15:14 602浏览量 回答数 1

1

回答

需求:pid系统字段支持关联,场景:业务流程中需要关联某个单据页的某条相关的记录数据

2019-11-08 09:58:37 647浏览量 回答数 1

1

回答

想实现从一个网页中获取它的svg动图,插入到自己写的前端里,怎么操作呀

2019-10-16 16:29:36 267浏览量 回答数 1

1

回答

请教一下,要把pg数据迁移到另外一台数据库,导入的命令应该怎么写呢?

2019-09-16 17:47:02 494浏览量 回答数 1

1

回答

机械行业管理系统实施有什么要注意的吗?

2017-12-20 14:19:23 1706浏览量 回答数 1
2709
文章
6591
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载