字符串的定义和使用 day07

字符串的定义

方式一 var str = '亲'; //基本类型

定义了一个字符串变量str,内容为 '亲'

方式二:var str = new String('hello'); //引用类型

定义一个字符串变量str,内容为hello,

注意:此刻str为引用类型(object对象)

用new产生的变量都是引用类型的变量,也叫对象

方式三:var str = String('hello');

基本类型:string, number, boolean, undefined,null等

引用类型/对象: Array , Date, Object, String, Function等

new String和String的区别

var s1 = new String(‘hello world’);

    var s2 = String(‘hello world’);

    console.log(typeof s1); //object

    console.log(typeof s2); //string

当String()和元素符new一起使用, 那么String()是作为构造函数使用的,它返回的是一个新创建的String对象. (构造函数后面课程会讲)

      当不用new运算符调用String()时,它只是转换成原始的字符串,并返回转换后的值.

字符串的属性

length:表示字符串的长度

例如: var str = 'how are you';

        console.log(str.length);

        console.log(str[0]);//获取字符串中对应下标的字符

注意: ECMAScript 中的字符串是不可变的; 也就是说,字符串一旦创建,它们的值就不能改变.    例如:  var str = “亲,包邮哦”;  

             str[0] = “唉”;  //不会改变

如果要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量.

var str =  “Hello”;

str = str+” world!”;

字符串的方法(函数)

str.charAt(3): 获取下标为3的字符

str.charCodeAt(3):  获取下标为3的字符的编码(ASCII码)

String.fromCharCode(94);    ASCII编码转换成字符

      该方法是String的静态方法,所以用String调用,

            如:var str = String.fromCharCode(98,99); //可传入多个参数

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)

str.concat();  连接字符串

    例如: var str1 = “hello”;  

           var str2 = str1.concat(“ world”);

字符串的查找方法

str.indexOf(“abc”);  查找字符串第一次出现的位置, 如果没找到则返回-1

    例如:  var str = “abcdabcd”;

              var subStr = “bcd”;  

            var index = str.indexOf(subStr);

str.lastIndexOf(“abc”);  查找字符串最后一次出现的位置, 如果没找到则返回-1

    例如: var index = str.lastIndexOf(“abc”);

str.search(); 正则匹配 (返回第一次出现的位置)

    例如: var str = “Abcdabcd”;  

        var index = str.search(/abc/gi);

          注: g表示进行全局匹配,i表示匹配的时候忽略大小写

str.replace(); 替换字符串

    例如: var str = “how are Are are you!”;

          var newStr = str.replace(“are”, “old are”);

这里的替换只能执行一次,不能够进行全局匹配,如果需要全局匹配,则应使用正则表达式: str.replace(/are/gi, "old are")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值