亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在String() 構造器不存在的情況下自定義一個MyString()的構造器函數?

在String() 構造器不存在的情況下自定義一個MyString()的構造器函數?

geront 2016-06-18 18:29:45
由于String() 不存在,因此在寫該構造器函數時不能使用任何屬于內建String對象的方法和屬性。并且為您創建的對象通過一下測試:>s.length; 5 >s[0]; "h" >s.toString(); "hello" >s.valueOf(); "hello" >charAt(1); "e" >charAt('2'); "l" >charAt('e'); "l">s.concat(' world');"hello world">s.slice(1.3);"el">s.slice(0,-1);"hell">s.split('e');["h","llo"]>s.split("l");["he","","o"]
查看完整描述

1 回答

?
geront

TA貢獻1條經驗 獲得超0個贊

var?MyString=function(str)?{
????var?list?=?[];
????for?(var?i?in?str)?{
????????list[i]?=?str[i];
????}
????this.list?=?list;
????this.toString=toString;
????this.valueOf=valueOf;
????this.charAt=charAt;
????this.concat=concat;
????this.slice=slice;
????this.split=split;
????this.reverse=reverse;
};

function?toString(){
????var?a_str='';
????for(var?i=0;i<this.list.length;i++)
????{
????????a_str+=this.list[i];
????}
????return?a_str;
}
function?valueOf(){
????return?this.toString();
}
function?charAt(n){
????var?c_str='';
????c_str=this.list[n]
????return?c_str;
}
function?concat(ch){
????return?this.toString()+ch;
}
function?slice(m,n){
????var?s_str='';
????if(n>0){
????????for(var?i=m;i<n;i++){
????????????s_str+=this.list[i];
????????}
????}else?if(n<0){
????????var?len=this.list.length;
????????for(var?i=m;i<n+len;i++){
????????????s_str+=this.list[i];
????????}
????}
????return?s_str;

}
function?split(element){
????for(var?i=0;i<this.list.length;i++){
????????if(?this.list[i]==element){
????????????return?i;
????????}
????}
????var?slist=[];
????slist=this.list.split(i,1);
????return?slist;
}

function?reverse(){
????var?re_str=this.list.reverse();
????return?re_str.join('').toString();
}

var?s=new?MyString('hello');
s.toString();???????//'hello'
s.valueOf();????????//'hello'
s.charAt(2);????????//'l'
s.concat('?world');?//'hello?word'
s.slice(1,3);???????//'el'
s.slice(0,-1);??????//'hell'
s.split('e');??????//"h",?"l",?"l",?"o"
s.reverse();????????//'olleh'


查看完整回答
反對 回復 2017-02-01
  • 1 回答
  • 0 關注
  • 1630 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號