JS基础4(字符串)

** 字符串**
【注】在JS中将所有单引号或者双引号括起来的都叫做字符串。

  1. 字符串创建的方式:
    (1)通过new运算符创建
var str = new String("hello");
alert(typeof str);  //Object  对象有属性和函数
alert(str);  //hello

(2)new可以省略

var str = String(true);
alert (typeof str);  //string

(3)通过常量创建字符串

var str = "hello";
alert(str);  //hello
  1. 字符串的属性
    length 返回的是当前字符串中字符的个数
var str = "hello";
alert(str.length);  //5
  1. 访问字符串的字符
    charAt()
    【格式】字符串.charAt(下标)
    【返回值】对应下标的字符
    【注】我们可以直接通过字符下标去访问该字符
var str = "hello";
alert(str.charAt(1));  //e
alert(str[1]);//e

【注】ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,它们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量
【注】+号可以作为字符串拼接符存在

var str = "hello";
str[1] = "x";
alert(str); //hello

var str = "hello";
str = "hxllo"
alert(str); //hxllo

var str = "a"+"b";
alert(str);  //ab
  1. 字符串函数

在这里插入图片描述

document.write("hello".sub()+"world".sup());

在这里插入图片描述
5. 字符串方法
(1)chartCodeAt()
【格式】字符串.charCodeAt(下标)
返回值:返回字符串中对应下标字符的ASCII码值

var str = "hello";
alert(str.charCodeAt(1));//101

(2)String.fromCharCode();
【格式】String.fromCharCode(ASCII码值
);
参数:ASCII码值,个数任意
返回值:ASCII码值对应字符组成的字符串

var str = String.fromCharCode(97,98,99);
alert(str);//abc

(3)concat()
【格式】字符串1.concat(字符串2)
返回值:拼接成的字符串
【注】一般情况下很少有,使用字符串拼接符+

var str1 = "a";
var str2 = "b";
var str = str1.concat(str2);
alert(str); //ab
alert(str1);//a

(4)字符串查找方法
①indexOf()
【格式】字符串.indexOf(子串,开始查找的位置);
返回值:如果在字符串中查找到了子串第一次出现的位置,返回子串出现的位置,否则没有查找到返回0

var str = "abcabcabc";
alert(str.indexOf("abc"));  //0
alert(str.indexOf("abcd"));  //-1
alert(str.indexOf("abc",1));  //3

②lastIndexOf()
【格式】字符串.lastIndexOf(子串)
返回值:子串在字符串中最后一次出现的位置,如果没有,返回-1

var str = "abcabcabc";
alert(str.lastIndexOf("abc"));  //6

③search(子串/正则) 参数可以是正则表达式
“abc” /abc/ig
【注】正则表达式可以添加修饰符,i代表忽略大小写,g代表全局匹配

var str = "Abcabcabc";
alert(str.search("abc"));  //3
alert(str.search(/abc/));  //3
alert(str.search(/abc/i));  //0

(5)字符串替换
①replace()
【格式】字符串.replace(匹配的字符串/正则表达式,替换成的新字符串)
返回值:替换完成以后生成的新字符串
【注】想替换所有符合条件的字符串,就必须使用正则表达式完成

var str = "how are you";
alert(str.replace("are","old are"));//how old are you   只能替换一个   第二个不能替换

var str = "how are are you";
alert(str.replace("are","old are"));
//how old are are you

var str = "how are you";
alert(str.replace(/are/,"old are"));//how old are you

var str = "how are are you";
alert(str.replace(/are/g,"old are"));//how old are old are you

var str = "how Are are you";
alert(str.replace(/are/g,"old are"));//how old are old are you

②substring()
【格式】字符串.substring(start,end);
作用:字符串提取,在指定范围内,提取字符串,生成新字符串
返回值: 生成的新字符串。
【注】不包含结束位置的

var str = "abcdef";
alert(str.substring(2,4));//cd

(6)字符串分割
split()
【格式】字符串.split(分隔符,生成的数组的长度);
返回值:通过分隔符,分割成的装有子串的数组
【注】1、分隔符,整体
2、会分割成空字符串
3、如果分割符是空字符“”,那么我们字符串会分割成单字符
4、字符串=>数组split
数组=>字符串 join

var str = "This is a box";
var arr = str.split(" ");
alert(arr);  //This,is,a,box
alert(arr.join("=")); //This=is=a=box

var str = "This is a box";
var arr = str.split(" ",2);
alert(arr);  //This,is

(7) toLowerCase()方法用于将字符串转换成小写
toUpperCase()方法用于把字符串转换成大写
6. ECMA5
ECMA标准 ECMAJavascript
①严格模式
【注】 从字面意思理解,即这种严格模式下,浏览器会堆JS的要求更加苛刻
“use strict”;写在哪个作用域下所有的代码都遵从严格模式
【注】不要轻易在全局范围开头增加"use strict";建议在作用域内使用

function m1(){
max = 10;//如果在给变量赋值的时候,没有使用var声明该变量,那么当成全局变量进行处理
}
m1();
alert(max);  //10
function m1(){
"use strict"
max = 10;
}
m1();
alert(max);  //报错
function m1(){
"use strict"
 var  max = 10;
}
m1();
alert(max);  //不报错
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值