(2)放在单引号或双引号之中。 'abc' "abc"。
(3)单引号字符串的内部,可以使用双引号。
(4)双引号字符串的内部,可以使用单引号。
(5)反引号`` :反引号允许跨行。
反引号允许字符串跨越多行并可以使用
${…} 在字符串中嵌入表达式。
(1)charAt 方法返回指定位置的字符,参数是从0开始编号的位置。
找一个字符串中的某个位置是那个字符串。
charCodeAt:返回字符串指定位置的 Unicode 码点(十进制表示)
(2)[]
字符串可以被视为字符串数组,因此可以用数组的方括号运算符,用来返回某个位置的字符
但是字符串只是数组的相似性而已实际上、没办法改变字符串中的某个字符
length 只是返回了字符串的长度,该属性没办法改变
字符串使用Unicode字符集,js内部所有的都是Unicode表示的。
JavaScript中的字符串使用的是 UTF-16 编码。
toLowerCase() 和 toUpperCase()方法可以改变大小写。
String对象是js原生提供的三个包装对象之一。用来生成字符串对象。
(1)构造函数
字符串对象是一个类数组对象,很像数组,但不是真正的数组。
(2)将任意的值转成字符
用于连接两个字符串,返回一个新字符串,不改变原字符串。
从原字符串取出子字符串并返回,不改变原字符串。
它的第一个参数是子字符串的开始位置,
第二个参数是子字符串的结束位置(不含该位置)。
如果省略第二个参数,则表示子字符串一直到原字符串结束。
用于从原字符串取出子字符串并返回,不改变原字符串,跟slice方法很相像。
它的第一个参数表示子字符串的开始位置,
第二个位置表示结束位置(返回结果不含该位置)
如果省略第二个参数,则表示子字符串一直到原字符串结束。
区别:slice 和 substring的区别?
slice:
如果参数是负值,表示从结尾开始倒数计算的位置,即该负值加上字符串长度。
如果第一个参数大于第二个参数(正数情况下),slice()方法返回一个空字符串。
substring:
如果第一个参数大于第二个参数,substring方法会自动更换两个参数的位置。
如果参数是负数,substring方法会自动将负数转为0。
由于这些规则违反直觉,因此不建议使用substring方法,应该优先使用slice。
总结:获取子字符串,使用 slice 或 substring。
用于确定一个字符串在另一个字符串中第一次出现的位置,
返回结果是匹配开始的位置。如果返回-1,就表示不匹配。
indexOf方法还可以接受第二个参数,表示从该位置开始向后匹配。
lastIndexOf
lastIndexOf方法的用法跟indexOf方法一致,主要的区别是lastIndexOf从尾部开始匹配,indexOf则是从头部开始匹配。
总结:查找子字符串时,使用 indexOf 或 includes/startsWith/endsWith 进行简单检查。
endsWith 用来判断当前字符串是否是以另外一个给定的子字符串“结尾”的,根据判断结果返回 true 或 false。
用于去除字符串两端的空格,返回一个新字符串,不改变原字符串。
toLowerCase方法用于将一个字符串全部转为小写,
toUpperCase则是全部转为大写。
它们都返回一个新字符串,不改变原字符串
split方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。
如果分割规则为空字符串,则返回数组的成员是原字符串的每一个字符。
如果省略参数,则返回数组的唯一成员就是原字符串。
split方法还可以接受第二个参数,限定返回数组的最大成员数。
返回一个新字符串,表示将原字符串重复n次。
字符串补全长度的功能。如果某个字符串不够指定长度,
会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
trimStart()消除字符串头部的空格,
trimEnd()消除尾部的空格。
返回一个由替换值(replacement)替换部分或
所有的模式(pattern)匹配项后的新字符串。
模式可以是一个字符串或者一个正则表达式,
替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。
如果pattern是字符串,则仅替换第一个匹配项.
web前端笔记4-有讲 如果感兴趣、请参考之前文章
一:对文章关键字的搜索(数组的方法):
<!DOCTYPE html><html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
#search{
height:40pxwidth: 200pxfont-size: 30pxtext-align: center
}
#div {
font-size: 20pxwidth: 600px
}
#div span{
color: red
}
</style>
</head>
<body >
<input type="text" name="search" id="search" value="馋" onclick="this.value='' "/>
<input type="button" name="" id="bbtn" value="搜索" />
<div id="div">
<p>馋,在英文里找不到一个十分适当的字。罗马暴君尼禄,以至于英国的亨利八世,在大宴群臣的时候,常见其撕下一根根又粗又壮的鸡腿,举起来大嚼,旁若无人,好一副饕餮相!但那不是馋。埃及废王法鲁克,据说每天早餐一口气吃二十个荷包蛋,也不是馋,只是放肆,只是没有吃相。对有某一种食物有所偏好,于是大量的吃,这是贪多无厌。馋,则着重在食物的质,最需要满足的是品味。上天生人,在他嘴里安放一条舌,舌上还有无数的味蕾,教人焉得不馋?馋,基于生理的要求;也可以发展成为近于艺术的趣味。
也许我们中国人特别馋一些。馋字从食,有声。毚音谗,本义是狡兔,善于奔走,人为了口腹之欲,不惜多方奔走以膏馋吻,所谓“为了一张嘴,跑断两条腿”。</p>
</div>
<script type="text/javascript">
var bbtn=document.getElementById('bbtn')
var search=document.getElementById('search')
var text=document.getElementsByTagName('p')[0]
var text1=text.innerHTML
var arr=[]
var str=text1
bbtn.onclick=function(){
str=text1
arr=search.value
str=str.split(arr).join('<span>'+arr+'</span>')
text.innerHTML=str
}
</script>
</body>
</html>
二:对li表单的搜索:
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
padding: 0margin: 0
}
#content{
margin: 100px 300pxdisplay: block
}
input{
height: 50pxwidth: 400pxfont-size: 30pxline-height: 50px
}
ul{
}
li{
margin:10px 0pxdisplay: block
}
</style>
</head>
<body>
<div id="content">
<ul>
<input type="" name="" id="" value="" placeholder="请输入城市的名称或拼音"/>
<li pname="北京" cname="bj">北京</li>
<li pname="株洲" cname="zz">株洲</li>
<li pname="上海" cname="sh">上海</li>
<li pname="长沙" cname="cs">长沙</li>
<li pname="杭州" cname="hz">杭州</li>
<li pname="天津" cname="tj">天津</li>
<li pname="西安" cname="xa">西安</li>
<li pname="成都" cname="cd">成都</li>
<li pname="武汉" cname="wh">武汉</li>
<li pname="南京" cname="nj">南京</li>
</ul>
</div>
<script type="text/javascript">
var li=document.getElementsByTagName('li')
var text=document.getElementsByTagName('input')[0]
function search(){
var arr=text.value
for(var i=0i<li.lengthi++)
{
li[i].style.display="none"
if(li[i].getAttribute('pname').indexOf(arr)!=-1||li[i].getAttribute('cname').indexOf(arr)!=-1)
{
li[i].style.display="block"
}
}
}
text.oninput=function(){
search()
}
</script>
</body>
</html>
这里有一个简单的站内搜索功能
<SCRIPT language=javascript><!--
function go(formname)
{
var url = http://www.163ns.com
formname.method = "get"
if (formname.myselectvalue.value == "1") {
document.search_form1.word.value = document.search_form1.word.value " site:www.163ns.com"
}
formname.action = url
return true
}
//-->
</SCRIPT>
<form name="search_form1" target="_blank" onsubmit="return go(this)">
<input name=word size="30" value="请输入关键字" onMouseOver="this.focus()" onBlur="if (value ==''){value='请输入关键字'}" onFocus="this.select()" onClick="if(this.value=='请输入关键字')this.value=''">
<input type="submit" value="搜索"><br>
<INPUT name=myselectvalue type=hidden value=0>
<INPUT name=tn type=hidden value="sayyes">
<INPUT name=cl type=hidden value="3">
<INPUT CHECKED name=myselect onclick=javascript:this.form.myselectvalue.value=0 type=radio value=0>
<FONT color=#0000cc style="FONT-SIZE: 12px">互联网
<INPUT name=myselect onclick=javascript:this.form.myselectvalue.value=1 type=radio value=1>
<FONT color=#ff0000 style="FONT-SIZE: 12px">站内
</form>