var str = 'andy';
console.log(str.length);
//相当于以下代码
// 1. 生成临时变量,把简单类型包装为复杂数据类型
var temp = new String('andy');
// 2. 赋值给我们声明的字符变量
str = temp;
// 3. 销毁临时变量
temp = null;
1. Strings são imutáveis
Isso significa que o valor interno é imutável. Embora pareça que o conteúdo pode ser alterado, o endereço na verdade é alterado, e um novo espaço de memória é aberto na memória.
var str='小明';
console.log(str);//小明
str='小新';
console.log(str);//小新
2. Métodos relacionados
Caso 1: Encontre o número de ocorrências de um caractere em uma string
Pensamentos:
① Algoritmo central: Primeiro encontre a posição onde o primeiro o aparece
② Então, contanto que o resultado retornado por indexOf não seja -1, continue
procurando ③ Porque indexOf só pode ser encontrado O primeiro, então a seguinte pesquisa usa o segundo parâmetro e o índice atual é aumentado em 1, continuando assim a pesquisa
var str = 'absodjogokoroy';
var count = 0;
var index = str.indexOf('o'); //o第一次出现的索引位置
while (index != -1) {
console.log(index); //
count++;
index = str.indexOf('o', index + 1);
}
console.log(count);
Caso 2: Conte os caracteres e tempos que aparecem mais.
Pensamentos:
① Algoritmo central: atravesse esta string usando charAt ()
② Armazene cada caractere no objeto. Se o objeto não tiver este atributo, o valor do atributo é 1. Se ele existe, o valor do atributo é +1
③ Percorra o objeto para obter o valor máximo e o caractere
var str = 'absodjogokoroy';
var obj = {
};
for (var i = 0; i < str.length; i++) {
if (obj[str.charAt(i)]) {
//对象中含字母属性
obj[str.charAt(i)]++;
} else {
//对象中不含字母属性
obj[str.charAt(i)] = 1;
}
}
console.log(obj);
var max = 0;
var ch = '';
for (var k in obj) {
if (max < obj[k]) {
max = obj[k];
ch = k;
}
}
console.log("出现次数最多的字符是:" + ch + ",次数是:" + max);