假值
以下值在 JavaScript 中被当作假值, 在逻辑运算中能被转换成false
null
NaN
0
""空字符串
undefined
逻辑运算符
&& 逻辑与
|| 逻辑或
!逻辑非
常见技巧
var color=localStorage.getItem('color') || '#333'; //默认字体颜色: #333 获取默认的字体颜色,如果没有,则颜色换成 #333;
color && (document.body.style.color='#333') ; //
字符串
JavaScript 通过字符串存储文本。字符串的内部格式是UTF-16,与文档格式无关。
indexOf 方法
语法
str.indexOf(searchValue[,fromIndex])
fromIndex
表示调用该方法的字符串中开始查找的位置。可以是任意整数。默认值为 0。如果fromIndex < 0则查找整个字符串(如同传进了 0)。如果fromIndex >= str.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 str.length。
indexOf()方法返回调用String对象中第一次出现的指定值的索引,开始在 fromIndex进行搜索。
如果未找到该值,则返回-1。
》 "亚索的追随者们尽情享受你们的统治吧。至于我锐雯的支持者们我们知道这个世界实际应当是怎样重生的。以下是我们为黎明使者胜利所准备的另一个结局。".indexOf('黎明')
> 53
》"亚索的追随者们尽情享受你们的统治吧。至于我锐雯的支持者们我们知道这个世界实际应当是怎样重生的。以下是我们为黎明使者胜利所准备的另一个结局。".indexOf('没有')
> -1
//location.href 即当前网页
if(location.href.indexOf('taobao.com') !== -1){
alert('请不要在上班时间看淘宝');
}
String.prototype.replace()
replace() 方法用来替换字符串的字符
》"相信我:如果我们够机灵的话,皮尔特沃夫就能强势地面对任何威胁。我就是个活生生的例子。——杰斯".replace('杰斯','亚索')
> "相信我:如果我们够机灵的话,皮尔特沃夫就能强势地面对任何威胁。我就是个活生生的例子。——亚索"
重复
repeat() ES6构造并返回一个新字符串,该字符串是原字符串重复若干次的结果。
》 "切克闹".repeat(3)
> "切克闹切克闹切克闹"
模板字符串反引号``
ES6
字符串还可以用一对反引号 ``括起来。
`老师说,JavaScript 字符串用单引号 ' 或者双引号 " 括住都行,那我应该用单引号还是双引号呢?`
反引号``可以通过${}内嵌任意表达式。
>`7 x 8 =${7*8}`
→"7 x 8 = 56"
字符串的长度
可以通过字符串的length属性来获得字符串长度
》"你是不是德国人呢?".length
>9
获取特定字符串
获取特定字符串可以通过 [] 和 charAt() 来获取字符串中的某个字符,
》注意,字符串第一个字符的下标是从 0 开始, 最后一个下标是length-1,
>'你好,请问巽寮湾要去哪里坐车去?大概需要多久'[6]
》寮
》'你好,请问巽寮湾要去哪里坐车去?大概需要多久' .charAt(6)
>寮
对于比较长的字符串 ,用length-1来获取最后一个字符, 这时需要声明一个变量
var xlw = '你好,请问巽寮湾要去哪里坐车去?大概需要多久,有没有声明最快的到达的办法'
》xlw[xlw.length-1]
>法
字符串不可变
javascript 中的字符串一旦声明就不可改变。
除非重新赋值
》var Abcd = 'Abcd'
》Abcd[0] = 'a'
>"a"
》Abcd
>"Abcd"
字符串转成数字 Number()
》var character = '2017'
>undefined
》Number(character)
>2017
数字转成字符串 toString()
》var width= '2000'
>undefined
》width.toString()
>2000
练习题
练习题