数据类型
- number: 表示整数和浮点数,四则运算与数学一致。%表示求余数, 如:0.001,123
- str: 字符串。 如:‘abc’, “张三”, “123”
- bool: 布尔值,两个值:true和false
- null: 空值。注意:‘’表示长度为0的空字符串,并不是null
- undefined: 表示未定义,常用在判断函数参数是否传递
- 数组: 定义一个数组直接用[]表示, 数组内的元素可以各不相同,如:var a = [1,‘a’,‘a’, null, true],通过索引访问数组中的元素,索引起始为0,如:想要获取1就是写a[0],获取数组最后一位可以写 a[a.length - 1]
- 对象: 由键值对组成的无序集合,如:{name:“张三”, age: 20}
操作字符串
字符串也是一个可迭代的对象
- 多行字符串: ’‘,“”内的字符串不能换行,如果需要换行的话就要用\n表示。如’第一行\n第二行‘,但是用反引号可以这样表示:
·第一行
第二行·
- 字符串拼接: + 号可以连接多个字符串, 如:
'a' + 'b'; // ’ab‘
- 字符串模板: 用反引号和${}组合表示,如:
var name = "张三";
var age = 20;
var mes = `你好,${name}, 你今年${age}岁了吗?`
- .length: 获取字符串长度,如:
var a = “abcdef”;
a.length; // 6
也可以通过索引访问指定位置的字符:
a[2]; // c
索引超出字符串的长度会显示undefined:
a[19]; // undefined
字符串是不可变类型。通过索引赋值无效,不会改变原字符串,如:
a[2] = "X"; //此时a[2] 还是“c”
- toUpperCase(): 将字符串变为大写, 不会改变原字符串,会返回一个新的字符串
var a = 'name';
a.toUpperCase(); // NAME
a; // name
- toLowerCase(): 将字符串变为小写, 不会改变原字符串,会返回一个新的字符串
var a = 'NAME';
a.toUpperCase(); // name
a; // NAME
- substring(): 字符串截取,如:
var a = 'abcdefj';
a.substring(0,3) ; // ab
第一位是起始索引,第二位是截止索引。截取的时候是包含起始索引位置,但是不包含截止索引位置。
- split(): 字符串分割, 将字符串按照指定的字符分割,返回数组。如:
var a = "qwe.asd.zxc";
a.split(".");// ["qwe", "asd", "zxc"]
- indexOf: 返回搜索指定字符串出现的位置, 如:
var s = 'hello, world';
s.indexOf('world'); // 返回7
s.indexOf('jjj'); // 没有找到指定的子串,返回-1