1.创建变量的方式
变量的定义是储存具体值的容器,储存的值可以随时改变;
1、var name = 'name';创建变量
2、let name = 'name'; 创建变量
3、const name = 'name'; 创建常量
4、function () {}; 创建函数
5、import 导出的模块信息
6、class 创建类
(对于import 创建变量,应该是引入导出的模块,创建一个名来存储导入模块的信息;)
2.数据类型
基本数据类型:
number(数字 NAN 是数字类型,但不是数字)
string(字符串)
boolean(布尔)
null
undefined
引入数据类型:
Object(普通对象、数组对象、时间对象、正则对象等)
function(函数)
3.数字类型
类型转换
通过Number()方法进行转化
基本类型的转化
1、Number([字符串]);如果字符串中出现任意一个非有效数字,结果则为NAN;
2、Number([布尔]); true = 1; false = 0;
3、Number([null]) = 0;
4、Number([undefined]) = NaN;
引用类型
先把引用类型的值.toString()转换为字符串,然后在把字符串Number()转换为数字;
1、对象.toString() => [Object, Object] => NaN
2、数组[1, 2].toString() => '1, 2' => NaN
3、数组[1].toString() => '1' => 1
4、数组[].toString() => '' => 0
NaN的比较
NaN和谁都不相等,包括自己; if (NaN == NaN) => false;
4.布尔类型
true 和 false 只有两个值; true = 1 false = 0;
js中只有 0、null、undefined、NaN、空字符串是false,其余都是true
5.null && undefined
null 代表空对象指针
undefined 代表未定义
6.数组常用方法
1、push() => 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,
会改变原数组
var a = [2,3,4]
var b = a.push(5)
console.log(a) // [2, 3, 4, 5]
console.log(b) // 4
// push方法可以一次添加多个元素 push(data1, data2 ...)
2、pop() =>方法用于删除并返回数组的最后一个元素。返回最后一个元素,
会改变原数组。
var arr = [2,3,4];
console.log(arr.pop()); // 4
console.log(arr); // [2, 3]
3、shift() => 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。返回第一个元素,
改变原数组。
var arr = [2,3,4];
console.log(arr.shift()); // 2
console.log(arr); // [3, 4]
4、unshift() =>方法可向数组的开头添加一个或更多元素,返回值是新增后数组的length。返回新长度,
改变原数组。
var arr = [2,3,4,5];
console.log(arr.unshift(3,6)); // 6
console.log(arr); // [3, 6, 2, 3, 4, 5]
5、splice() => 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
splice() 方法会直接对数组进行修改。
var a = [5,6,7,8];
console.log(a.splice(1,0,9)); // []
console.log(a); // [5, 9, 6, 7, 8]
var b = [5,6,7,8];
console.log(b.splice(1,2,3)); // [6, 7]
console.log(b); // [5, 3, 8]
6、slice() => 方法返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。返回选定的元素,
该方法不会修改原数组。
var arr = [2,3,4,5];
console.log(arr.slice(1,3)); // [3, 4]
console.log(arr); // [2, 3, 4, 5]
7、join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的,默认使用’,'号分割,
不改变原数组。
var arr = [2,3,4];
console.log(arr.join()); // 2,3,4
console.log(arr); // [2, 3, 4]
8、concat() 方法用于连接(拼接) 两个或多个数组。该方法
不会改变现有的数组,仅会返回被连接数组的一个副本(新数组)。
var arr1 = [1,2,3];
var arr2 = [4,5];
var arr3 = arr1.concat(arr2);
console.log(arr1); // [1, 2, 3]
console.log(arr3); // [1, 2, 3, 4, 5]
9、toString && join
toString把数组转为以逗号分割的字符串
join把数组转为指定字符分割的字符串
let arr = [1, 2, 3, 4];
arr.toString() = '1,2,3,4,5';
arr.join('、') = '1、2、3、4、5'; 10、reverse && sort
排序
reverse 是把数组倒过来排,返回新数组,原数组改变;
sort 升序或者倒序,返回新数组,原数组改变;
sort
let arr = [1, 3, 6, 77, 11, 45, 71];
arr.sort(function(a, b) {
return a-b;
})
console.log(arr) = [1, 3, 6, 11, 45, 71, 77];
a-b 正序 b-a 倒序
reverse
arr = [22, 11, 4, 5,111, 55,68, 13];
arr.reverse();
console.log(arr) = [13, 68, 55, 111, 5, 4, 11, 22];
倒序排列
11、substring() 和 substr()
相同点:如果只是写一个参数,两者的作用都一样:都是是截取字符串从当前下标以后直到字符串最后的字符串片段。 substr(startIndex);
substring(startIndex);
var str = '123456789';
console.log(str.substr(2)); // '3456789'
console.log(str.substring(2)); // '3456789'
不同点:第二个参数
substr(startIndex,lenth): 第二个参数是截取字符串的长度(从起始点截取某个长度的字符串);
substring(startIndex, endIndex): 第二个参数是截取字符串最终的下标 (截取2个位置之间的字符串,‘含头不含尾’)。
console.log('123456789'.substr(2,5)); // '34567'
console.log('123456789'.substring(2,5)); // '345'
7.字符串的常用方法
1、charAt && charCodeAt
charAt 根据索引找到字符串对应的字符,并返回;
charCodeAt根据索引找到字符,返回Unicode码。fromCharCode() 可以把Unicode码转回对应的字符;
let str = 'hello word'
str.charAt(1)
"e"
2、indexOf && lastIndexOf
和数组一样,查找对应的字符,找到返回对应的所以,找不到对应的字符返回-1
let str = 'hello word'
str.indexOf("d")
9
3、slice && substring && substr
str.slice(n, m) 从索引n开始查找到索引m,不包含m;返回新字符串;支持负数索引;
str.substring(n, m) 从索引n开始查找到索引m,不包含m;返回新字符串;不支持负数索引;
str.substr(n, m) 从索引n开始截取m个字符; 4、toUpperCase && toLowerCase
toUpperCase 字符串小写转大写;
toLowerCase 字符串大写转小写;
str.toUpperCase()
"HELLO WORD"
str.toLowerCase()
"hello word"
5、split
和数组的join类似,split把字符串按照指定的分隔符拆分成数组中的每一项,也可以理解为字符串转数组;
str.split(' ')
["hello", "word"]
str.split('')
["h", "e", "l", "l", "o", " ", "w", "o", "r", "d"]
6、replace
替换字符串中原有的字符;
str.replace('hello', 'hi')
"hi word"