2021-1-26 js字符串操作函数

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
    /*
     * 字符串
     * */
    var str = " abc defa";
    for (var i = 0; i < str.length; i++) {
        console.log(str[i]);
    }
    //indexOf  lastIndexOf  一个参数查找字符串
    //一个参数  直接找   找到返回索引位置   没找到返回-1
    console.log(str.indexOf('f'));//  前-后
    console.log(str.lastIndexOf('f'));//后到前
    //两个参数   1.找的字符   2.从那个索引位开始找
    console.log(str.indexOf('a', 1));
    console.log(str.lastIndexOf('b', 4));

    //search
    //查找
    console.log(str.search("f"));

    //元素替换方法
    console.log(str.replace("a", 'aaaa'));
    //一个字符串里面的所有相同字符  全部替换   需要使用正则  匹配

    console.log(str.replace(/a/ig, 'aaaaa'));

    //字符串去空   可以去除前面空格
    console.log(str.trim());
    //字符串中间的空格也要全部去除  需要使用正则  不适用trim  replace
    console.log(str.replace(/\s/g, ''));

    //字符串拼接方法
    //1.使用+号  来进行字符串拼接
    //concat
    var s1 = 'hdbhjbj';
    var s2 = 'fdsadsadsa';
    console.log(str.concat(s1, s2));

    //根据字符索引  获取字符
    console.log(str.charAt(0));
    //根据索引返回字符的ascii值
    console.log(str.charCodeAt(1));
    //将ascii值转化为字符
    //这个方法来String 类对象
    console.log(String.fromCharCode(97));

    //字符串截取方法
    //subStr  substring   slice
    //参数是  索引   length
    console.log(str.substr(3, 5), str);
    //参数  为索引   取小不取大
    console.log(str.substring(0, 5), str);

    console.log(str.slice(0, 4), str);

    //字符串转化为数组
    //split   按照符号分割之后  返回的是数组
    var s3 = "abcdefg";//['a','b','c','d']
    console.log(s3.split(''));
    var s3 = "a,b,c,def,g";
    console.log(s3.split(','));

    //字符串正则使用方法
    var tel = '11389321423';
    console.log(tel.match(/^1[345789]\d{9}$/));  //返回值是  null  数组值

    //字符串使用b标签加粗
    console.log(str.bold());
    console.log(str.big());
    console.log(str.blink());

    //大小写转化
    console.log(str.toLowerCase());
    console.log(str.toUpperCase());
    console.log(str.toLocaleLowerCase());
    console.log(str.toLocaleUpperCase());

    //值转引用
    var a = 10;
    console.log(a.toString());

    //数字精确小数点
    //toFixed
    var num = 99;
    console.log(num.toFixed(2));
    //  tt标签 包含
    console.log(str.fixed());

    //localeCompare  按照本地特定序列  比较字符   ascii    返回值  -1  1
    var f1 = 'a';
    var f2 = 'c';
    console.log(f2.localeCompare(f1));

    console.log(str.valueOf());

    //区别
    //1.数据类型的区别

    var k1 = 'dassadsa';
    console.log(typeof  k1);//string
    var k2 = new String('dasdsadsadsa');
    console.log(typeof k2);//object
    console.log(k2.toString());

    //直接定义的字符串   valueOf  自身   通过String类对象声明的字符串   valueOf 指向原始值


    //函数用法   函数递归(函数反复执行自身)
    var n = 0;
    var fun1 = function () {
        n++;
        if (n >= 10) {
            return;
        }
        fun1();
    }

    fun1();


    //面试题  实现  add(1)(2)(3)   6
    //这个  尝试使用闭包

    var add = function (n) {//1
        var temp = function (m) {//2
            //递归
            return add(n + m);
        }
        //这里类似toString 方法的重写
        temp.toString = function () {
            return n;
        }

        return temp;
    }

    console.log(add(1)(2)(3)(4));


</script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值