有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

js 字符串对象方法

javascript cat 10个月前 (11-23) 63次浏览 已收录 0个评论 扫描二维码

字符串对象

1、字符串创建

// 1、字面量(推荐)
var str = '平头哥';
console.log(str, typeof str); // 'string'

// 2、方法创建
var str2 = String('平头妹');
console.log(str2, typeof str2); // 'string'

// 3、构造函数(注意类型是object)
var str3 = new String('平头姐');
console.log(str3, typeof str3); // 'object'

2、字符串属性和方法

var str = '平头哥';

// 1、长度
console.log(str.length);

// 2、下标,通过下标获取对应的字符
// str[下标] 或 str.charAt(下标)
console.log(str[0]);
console.log(str[1]);
console.log(str[2]);

// 循环字符串
for (var i = 0; i < str.length; i++) {
    console.log(str[i]);
}

// 3、通过下标获取对应字符的编码。charCodeAt() 方法可返回指定位置的字符的 Unicode 编码。这个返回值是 0 - 65535之间的整数。
// 字符串.charCodeAt(下标)
console.log(str.charCodeAt(0)); // 24179
console.log(str.charCodeAt(1)); // 22836
console.log(str.charCodeAt(2)); // 21733

// 4、将 Unicode 编码转成字符
console.log(String.fromCharCode(24179, 22836, 21733)); // 平头哥

3、indexOf和lastIndexOF

字符串.indexOf(要查找的字符, 查找的起始位置); 从左向右找

字符串.lastIndexOf(要查找的字符, 查找的起始位置); 从右向左找

作用:返回查找字符在这个字符串中的下标,没有返回-1

案例:字符串去重

4、字符串截取

var str = 'abcdefg';

// 字符串.substring(起始下标, 结束下标);
console.log(str.substring()); // 'abcdefg' 没有参数返回全部
console.log(str.substring(2)); // 'cdefg' 有一个参数,从参数处起一直到最后
console.log(str.substring(2, 5)); // 'cde' 有两个参数,从第一个起,到第二个止,不包括第二个参数
console.log(str.substring(5, 2)); // 'cde' 第二个参数比第一个小,则两个交换位置
console.log(str.substring(-5, 2)); // 'ab' 负数当做0

// -------------------------------------------
// 字符串.slice(起始下标, 结束下标);  推荐使用
console.log(str.slice()); // 'abcdefg' 没有参数返回全部
console.log(str.slice(2)); // 'cdefg' 有一个参数,从参数处起一直到最后
console.log(str.slice(2, 5)); // 'cde' 有两个参数,从第一个起,到第二个止,不包括第二个参数
console.log(str.slice(5, 2)); // '' 第二个参数比第一个小,则返回空字符
console.log(str.slice(2, -2)); // 'cde' 如果为负数,则同长度相加

// -------------------------------------------
// 字符串.substr(起始下标, 截取的个数);
console.log(str.substr()); // 'abcdefg'
console.log(str.substr(2)); // 'cdefg'
console.log(str.substr(2, 2)); // 'cd'
// 截取字符串"abcdefg"中的def
var str = 'abcdefg';
console.log(str.slice(3, 6)); // 'def'

5、转大小写

var str = 'abc';
console.log(str.toUpperCase()); // ABC  转大写

var str2 = 'ABC';
console.log(str2.toLowerCase()); // abc  转小写

6、字符串split 和 数组join

// 字符串.split(分隔符)
// 作用:将字符串以分隔符拆分成数组
var str = '2020-10-12';

console.log(str.split('-')); // ['2020', '10', '12']
console.log(str.split()); // ['2020-10-12']
console.log(str.split('')); // ['2', '0', '2', '0', '-', '1', '0', '-', '1', '2']

// -----------------------------------

// 数组.join('连接符')
// 作用:将数组用连接符拼接成字符串

var arr = ['2020', '10', '12'];
console.log(arr.join('-')); // '2020-10-12'
console.log(arr.join()); // '2020,10,12'
console.log(arr.join('')); // '20201012'

7、replace

// 字符串.replace(被替换的字符, 新的字符串);
// 返回被替换以后的字符串,不影响原字符串

var str = '我就是我';

var s = str.replace('我', '平头哥');
console.log(s); // '平头哥就是我'
console.log(str); // '我就是我'

8、trim

// 字符串.trim();
// 作用:去除字符串左右空格
// IE8及以下不支持(正则里解决)

var str = '    小芳,约不    ';

console.log('(' + str + ')');
console.log('(' + str.trim() + ')');

9、字符串比较

// 如果两边都是字符串,则是字符串的比较,字符串比较的字符编码,从左向右,一位一位的比较
// 常用字符对应编码:“0”---48,“A”---65,“a”---97。
console.log(12 > 2); // true
console.log(12 > '2'); // true
console.log('12' > '2'); // false 

console.log('A' < 'a'); // true
喜欢 (0)
cat
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址