JS 字符串

一、js字符串

1、charAt():返回一个由给定索引处的单个 UTF-16 码元构成的新字符

let str = '大宋少年志2'
console.log(str.charAt(1)); //宋
console.log(str.charAt(-1)); // [空]

2、charCodeAt():返回一个整数,表示给定索引处的 UTF-16 码元,其值介于 0 和 65535 之间

let str = '大宋少年志2'
console.log(str.charCodeAt(1)); //23435

3、concat():拼接字符串

let str = '大宋少年志2'
let str2 = "大爆啦!"
console.log(str.concat(str2)); //大宋少年志2大爆啦!

4、slice():切割字符串

let str3 = "1234567890"
console.log(str3.slice(0, 4) + "***" + str3.slice(-4)); //1234***7890

5、split():分割字符串

let str3 = 1234567890
str3 = String(str3)
const strarr = str3.split("")
console.log(strarr); // ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

6、includes():执行区分大小写的搜索,以确定是否可以在一个字符串中找到另一个字符串,并返回布尔值

let str = '大宋少年志2'
console.log(str.includes("宋")); //true

7、startsWith()/endsWith():判断一个字符串是否以指定字符串开头/结尾,返回布尔值

let str = '大宋少年志2'
console.log(str.startsWith("大")); //true

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

console.log(str.endsWith(2)); //true
console.log(str.endsWith("志")); //false

8、indexOf()/lastIndexOf():在字符串中搜索指定子字符串,并返回其第一次/最后一次出现的位置索引

search():返回正则表达式在字符串中首次匹配的索引;否则,返回 -1

indexOf(searchString)
indexOf(searchString, position)
let str = '大宋少年志2'
console.log(str.indexOf("少")); //2
console.log(str.indexOf("少", 3)); //-1

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

console.log(str.search("少")); //2

9、match():检索字符串与正则表达式进行匹配的结果

/g:全局匹配

let str = '大宋少年志2'
console.log(str.match(/[2]/)); //['2', index: 5, input: '大宋少年志2', groups: undefined]
console.log(str.match(/2/g)); //['2']
console.log(str.match(/大|2/)); //['大', index: 0, input: '大宋少年志2', groups: undefined]

10、repeat(count):重复count次字符串

let str = '大宋少年志2'
console.log(str.repeat(2)); //大宋少年志2大宋少年志2

11、replace(pattern, replacement):返回一个新字符串,其中一个、多个或所有匹配的 pattern 被替换为 replacement

let str2 = "111222"
console.log(str2.replace(/2/, 3)); //111322
console.log(str2.replace(/2/g, 3)); //111333

12、substring(indexStart, indexEnd):回该字符串从起始索引到结束索引(不包括)的部分

let str = '大宋少年志2'
console.log(str.substring(2, 4)); //少年

13、toLowerCase()/toUpperCase():将该字符串转换为小写/大写形式

let str2 = 'DUGIUW'
console.log(str2.toLowerCase()); //dugiuw
let str2 = 'dugiuw'
console.log(str2.toUpperCase()); //DUGIUW

14、trim():从字符串的两端移除空白字符,并返回一个新的字符串,而不会修改原始字符串

trimStart()/trimEnd():移除开头/结尾空白字符

let str = ' 大宋少年志2 '
console.log(str.trim()); //大宋少年志2

15、valueOf():返回String对象的字符串值

let str = '大宋少年志2'
console.log(str.valueOf()); //大宋少年志2

二、toFixed():使用定点表示法来格式化一个数值

let num = 123456.567;
console.log(num.toFixed()); //123457 四舍六入
console.log(num.toFixed(2)); //123456.57

三、解构: 把取值的变量解构出来 更方便

let obj = {
    a: 1,
    b: 2,
    c: 3,
};

console.log(obj.a, obj.b);
const { a, b, c } = obj;
console.log(a, b, c);

//   数组的解构
let arr = [4, 5, 6];
console.log(arr[0], arr[1]);
const [d, e, f] = arr;
console.log(d, e, f);

四、展开运算符:把对象展开

let arr = [1, 2, 3];
let arr1 = [4, 5, 6];

let arr2 = arr.concat(arr1);
let arr3 = [...arr, ...arr1];

console.log(arr2); //[1,2,3,4,5,6]
console.log(arr3); //[1,2,3,4,5,6]

let obj = {
    a: 1,
};

let obj2 = {
    b: 2,
};

let obj3 = { ...obj, ...obj2 };
console.log(obj3); //{a:1,b:2}
let arr = [
    {
        name: "数学",
        score: 99,
    },
    {
        name: "英语",
        score: 97,
    },
    {
        name: "语文",
        score: 96,
    },
    {
        name: "历史",
        score: 50,
    },
    {
        name: "地理",
        score: 36,
    },
];

console.log(arr.map((item, index) => ({ ...item, ids: index })));
/**0: {name: '数学', score: 99, ids: 0}
    1: {name: '英语', score: 97, ids: 1}
    2: {name: '语文', score: 96, ids: 2}
    3: {name: '历史', score: 50, ids: 3}
    4: {name: '地理', score: 36, ids: 4}*/

五、seTtimeout(()=>{},时间(毫秒)):延时器

const fn = () => {
    console.log(1)
}
setTimeout(() => {
    fn()
}, 3000)

六、setInterval(()=>{},时间(毫秒)):定时器

const fn = () => {
    console.log(1)
}
setInterval(() => {
    fn()
}, 1000)

清除定时任务

const fn = () => {
    console.log(1)
}
const dsq = setInterval(() => {
    fn()
}, 1000)
setTimeout(() => {
    clearInterval(dsq)
}, 3000)

七、new

let obj = { a: 1 }
console.log(obj); //{a: 1}
let obj1 = new Object({ a: 1 })
obj1.b = 2
console.log(obj1); //{a: 1, b: 2}

八、this

console.log(this); //Window {window: Window, self: Window, document: document, name: '', location: Location, …}
let obj = {
    fn1: () => {
        console.log(this)
    }
}
console.log(obj.fn1);
/**() => {
        console.log(this)
    }*/

九、for...in/for...of:循环遍历对象

let obj = {
    name: '张三',
    age: 18,
    speak: '尊嘟假嘟?'
}
console.log(obj.name); //张三
console.log(obj['name']); //张三
for (const key in obj) {
    console.log(key + ":" + obj[key]); //name 张三 name:张三 age: 18 speak: 尊嘟假嘟?
}
let arr = ['1', '8', { name: "张三", age: 18 }]
for (const key in arr) {
    console.log(key + ":" + arr[key]); //0:1 1:8 2:[object Object]
}
for (const item of arr) {
    console.log(item) //1 8 {name: '张三', age: 18}
}

十、typeof():判断类型

console.log(typeof 1); // number
console.log(typeof "张三"); //string
console.log(typeof []); // object
console.log(typeof {}); // object
console.log(typeof undefined); // undefined
console.log(typeof null); // object

const fn = () => {};
console.log(typeof fn); // function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值