基本包裝類型:把簡單資料型別包裝成了複雜資料型態。 (基本資料型別就有了屬性與方法)
var str='andy'; console.log(str.length);
- 把簡單資料型別包裝成複雜資料型別
var temp=new String('andy');
- 把暫存變數的值給str
str=temp;
- 銷毀暫存變數
temp=null;
JavaScript都提供了三個特殊的引用類型:string、number、boolean
不要大量拼接字串,因為原來的字串也在記憶體中。裡面的數值不變,雖然看起來可以改變內容,但其實是位址變了,記憶體中新開闢了一個記憶體空間。
字串所有的方法都不會修改字串本身(字串是不可變的),操作完成會傳回一個新的字串。
從前往後找出
var str="你是我的神"; console.log(str.indexOf('我');//2 console.log(str.indexOf('我',1);
從後往前找出
var str="你是我的神"; console.log(str.lastIndexOf('我');
傳回指定位置的字元
var str="andy"; console.log(str.charAt(3));
for(var i=0;i<str.length;i++){ console.log(str.charAt(i)); }
回傳ASCII碼,可以來判斷使用者按了哪個鍵。
console.log(charCodeAt(o));
H5新增的,有相容問題
var str=' cindy'; console.log(str.concat('red');
從start開始取length長度的字元
var str='你是我的神'; console.log(str.substr(2,2));
只替換第一個字元
var str='andandand'; console.log(str.replace('a','b');//bndandand
var str='red,pink,blue'; console.log(str.split('&'));
var str='abcdefgabcdefg'; var index=str.indexOf('g'); var num=0; while(index!==-1){ console.log(index); num++; index=str.indexOf('g',index+1); } console.log('g出現的次數是:'+num);
var str='abcdefgabcdefg'; var obj={}; for(var i=0;i<str.length;i++){ var chars=str.charAt(i); if(obj[chars]){ obj[chars]++; }else{ obj[chars]=1; } } console.log(obj); var max=0; var ch=''; for(var k in obj){ if(obj[k]>max){ max=obj[k]; ch=k; } } console.log(max); console.log('最多的字元為'+ch);
var str='abcoefoxyozzoopp'; while(str.indexOf('o')!==-1){ str=str.replace('o','*'); } console.log(str);