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

开发者社区> 小旋风柴进> 正文

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

2016-06-01 11:01:15 2082 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
相关问答

11

回答

在阿里云上安装和运行Node.js全功略

ycwong 2013-09-18 15:17:30 64038浏览量 回答数 11

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 56737浏览量 回答数 19

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 157102浏览量 回答数 145

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 92927浏览量 回答数 28

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 146804浏览量 回答数 22

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 145640浏览量 回答数 31

23

回答

【云服务器分享】网站访问速度快才是硬道理

dreamdoo 2012-10-15 10:15:02 85196浏览量 回答数 23

13

回答

【云服务器分享】如何节省网站流量

dreamdoo 2012-10-15 10:36:09 80132浏览量 回答数 13

14

回答

对象存储oss【问答合集】

我是管理员 2018-08-03 14:54:02 67380浏览量 回答数 14

2

回答

Nginx—owncloud安装记事

寒喵 2014-06-07 23:24:41 48532浏览量 回答数 2
2728
文章
6591
问答
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载