标签:读取 日期 命名规则 join() 距离 dom 大整数 获取 创建
变量 是数据的“命名存储”。我们可以使用变量来保存商品、访客和其他信息。
在 JavaScript 中创建一个变量,我们需要用到let(var、const) 关键字。
var:会进行变量的提升(预解析)而let不会。
const:不可以改变赋值的内容
下面的语句创建(也可以称为 声明 或者 定义)了一个名称为 “msg” 的变量:
let msg;
通过赋值操作符 = 为变量添加一些数据:
msg = ‘Hello Word‘;
//可以通过访问变量名直接读取数据
alert(msg);
可以将变量定义和赋值合并成一行
let msg = ‘Hello Word‘;
JavaScript 的变量命名规则:
JavaScript 的数据类型,共有六种。
number类型带便整数和浮点数
数字可以有很多操作,比如,乘法 *、除法 /、加法 +、减法 - 等等
let num = 123;
num = 3.14;
0.1+0.2 === 0.3 //false
在 JavaScript 中,文本数据被以字符串形式存储,必须被括在引号里。
在js中双引号和单引号没什么区别
如果在字符串内部要使用单引号,就必须在内部单引号前面加上转译符号反斜杠\
let str = ‘Hello‘; // 输出 Hello
let str2 = ‘\‘Hello\‘‘; //输出 ‘Hello‘
//字符前面加上反斜杠(\),都表示特殊含义
// \n 换行符
// \t 制表符
boolean 类型仅包含两个值:true 和 false。
这种类型通常用于存储表示正确(真)或错误(假)的值:true 意味着 “正确(真)”,false 意味着 “错误(假)”。
null表示空值,即该处的值现在为空
特殊的 null 值不属于上述任何一种类型。
它构成了一个独立的类型,只包含 null 值:
let age = null;
JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值。
特殊值 undefined 和 null 一样自成类型。
undefined 的含义是 未被赋值,未定义的。
如果一个变量已被声明,但未被赋值,那么它的值就是 undefined:
let x;
alert(x); // 弹出 "undefined"
object是一个特殊的类型,用于存储数据集合复杂的,
对于数据到底是什么类型的,js提供了三种方法:
//x为要检测的内容的类型,结果会返回一个类型
作为运算符:typeof x。
函数形式:typeof(x)。
在遇到字符为数值的地方,运算的时候,系统会自动调用Number函数,加参数值转为数值。
常见的运算符有+、-、*、/。会把运算子自动转换成数值。
let num1 = ‘10‘ //num为字符串
let num2 = ‘5‘ //num为字符串
+num //10
‘10‘ - ‘5‘ //5
‘10‘ * ‘5‘ //50
‘10‘ / ‘5‘ //2
注意: null转换为数值时为 0; undefined 转换为数值时为NaN
字符串的自动转换主要发生在加法运算。
‘10‘ +1 // ‘51‘
‘10‘ +‘abc‘ //‘10abc‘
一般转换成布尔值都是在if语句条件部分,会将非布尔值参数转成布尔值。
在需要转换的前面加上两个!!.
除了以下六个值为flase。其余的全部转为true。
0
‘‘(空字符串)
null
ndefined
NaN
false
使用Number函数,可以将任意类型的值转化成数值。
// 数值:转换后还是原来的值
Number(324) // 324
// 字符串:如果可以被解析为数值,则转换为相应的数值
Number(‘324‘) // 324
// 字符串:如果不可以被解析为数值,返回 NaN
Number(‘324abc‘) // NaN
// 空字符串转为0
Number(‘‘) // 0
// 布尔值:true 转成 1,false 转成 0
Number(true) // 1
Number(false) // 0
// undefined:转成 NaN
Number(undefined) // NaN
// null:转成0
Number(null) // 0
使用parseInt、parseFloat函数。只能返回前面的数值的整形,否则返回NaN。
parseInt(‘42abc‘) // 42
parseInt(‘abc123‘) // NaN
String函数和toString函数可以将非字符串类型的值转化成字符串。
String(123) // "123"
String(‘abc‘) // "abc"
String(true) // "true"
String(undefined) // "undefined"
String(null) // "null"
String([1,2,3]) //"1,2,3"
================
123.toString() // "123"
‘abc‘.toString() // "abc"
true.toString() // "true"
undefined.toString() // "undefined"
null.toString() // "null"
[1,2,3].toString() //"1,2,3"
Boolean()函数可以将任意类型的值转为布尔值
除了一下五种转换结果为false,其余的值全部都为true。
0
‘‘(空字符串)
null
ndefined
NaN
true跟false两个转换布尔值不会发生变化
Math时javascript的原生对象。提供数学功能。所有的属性和方法都必须在Math对象上调用。
Math静态属性常见的为
Math.PI : 常数π
Math静态方法常见:
Math.abs方法返回参数值的绝对值
Math.abs(6) // 6
Math.abs(-6) // 6
Math.ceil反法返回参数值的最大整数,向上取整(天花板函数)
Math.ceil(6.6) // 7
Math.ceil(-6.6) // -6
Math.floor反法返回参数值的最小整数,向下取整(地板函数)
Math.ceil(6.6) // 6
Math.ceil(-6.6) // -7
Math.round方法返回参数值进行四舍五入。
Math.ceil(0.4) // 0
Math.ceil(0.5) // 1
Math.ceil(0.6) // 1
Math.max方法返回参数中最大的值。Math.min返回参数中最小值
Math.max(10, 2, 5) // 10
Math.min(10, 2, 5) // 2
Math.random返回0-1之间的一个随机数[0,1),值能取到0,取不到不到1.
定义一个函数,生成任意范围的随机整数
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
getRandomInt(min, max)
Math.pow方法有两个参数,参数一:底数,参数二:幂的指数值。
// 等同于 2 ** 2
Math.pow(2, 2) // 4
// 等同于 2 ** 3
Math.pow(2, 3) // 8
Math.sqrt方法用于返回参数值得平方根。参数为负数时,返回NaN。
Math.sqrt(9) // 3
Math.sqrt(-9) // NaN
Date对象是javascript用来处理日期和时间。
Date对象可以直接作为普通函数调用,返回当前时间的字符串
Date()
"Sat Mar 27 2020 14:47:47 GMT+0800 (中国标准时间)"
Date可以当作构造函数使用,使用关键字new创建,返回Date实例对象。
let date = new Date();
date.toString()
"Sat Mar 27 2020 14:47:47 GMT+0800 (中国标准时间)"
date.valueOf()
1585983004225
let date = new Date();
date.toLocaleString();
//2020/3/27 下午3:14:38
date.toLocaleDateString();
//2020/3/27
date.toLocaleTimeString();
//下午3:14:38
date.toDateString();
//Sat Mar 27 2020
封装函数格式化日期对象,返回yyyy-MM-dd HH:mm:ss的形式
function getDate(d) {
//如果date不是日期对象,返回
if (!date instanceof Date) {
return;
}
var year = d.getFullYear(),
month = d.getMonth() + 1,
date = d.getDate(),
hour = d.getHours(),
minute = d.getMinutes(),
second = d.getSeconds();
month = month < 10 ? ‘0‘ + month : month;
date = date < 10 ? ‘0‘ + date : date;
hour = hour < 10 ? ‘0‘ + hour : hour;
minute = minute < 10 ? ‘0‘ + minute:minute;
second = second < 10 ? ‘0‘ + second:second;
return year + ‘-‘ + month + ‘-‘ + date + ‘ ‘ + hour + ‘:‘ + minute + ‘:‘ + second;
}
Array对象是javascript的原生对象。同时也是构造函数。
可以使用字面量的方式和构造函数的方式创建数组。
let arr =[]
//字面量的方式创建空数组
let arr1 = new Arrar();
//创建了空数组
let arr2 = new Arrar(2) //参数为一个时表示数组长度
arr2.lenget //2
let arr3 = new Arrar(1,2) //多个参数时,为数组内容
// [1,2]
Array.isArray() 静态方法返回一个布尔值可以判断是否为数组,
let arr = [1, 2, 3];
typeof arr // "object"
Array.isArray(arr) // true
实例方法
数组的valueOf方法返回数组本身
toString() 将数组转换成字符串形式
let arr = [1, 2, 3];
arr.valueOf() // [1, 2, 3]
arr.toString() // "1,2,3"
join()方法以指定参数作为分隔符,将所有数组成员连接为一个字符串返回。如果不提供参数,默认用逗号分隔
let arr = [1, 2, 3];
arr.join() // "1,2,3"
arr.join(‘‘) // ‘123‘
arr.join(‘ | ‘) // "1 | 2 | 3"
concat方法用于多个数组的合并,连接多个数组,然后返回一个新数组,原数组不变。
var arr1 = [1, 2, 3];
var arr2 = [4, 5, 6];
//将数组2加入到数组1中
arr1.concat(arr2);
// [1,2,3,4,5,6]
slice方法用于复制提取数组中的某一部分,返回一个新数组,原数组不变。
//它的第一个参数为起始位置(从0开始),第二个参数为终止位置(该元素本身不包括)。
//如果只有一个参数,则一直返回到原数组的最后一个成员。
arr.slice(start,end)
let arr = [‘a‘,‘b‘,‘c‘,‘d‘]
a.slice() // ["a", "b", "c"]
a.slice(1) // [‘b‘,‘c‘,‘d‘]
a.slice(1, 2) // [‘b‘]
当参数为负数时,则在最后面倒数开始计算。
let arr = [‘a‘, ‘b‘, ‘c‘, ‘d‘]
arr.slice(-2) // ["c", "d"]
arr.slice(-2, -1) // ["b","c"]
splice()方法用于删除添加原数组的一部分成员,返回值是被删除的元素。注意,该方法会改变原数组。
arr.splice(start, count, addElement1, addElement2, ...);
splice的第一个参数是删除的起始位置(从0开始),第二个参数是被删除的元素个数。第三个参数起则为添加的内容。
当参数为一个时。表示从当前位置开始到结束
let arr = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘];
arr.splice(1) // [‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘]
arr // ["a"]
当参数为二个时,(若起始位置为负数,表示从倒数位置开始删除)
let arr = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘];
arr.splice(4, 2) // ["e", "f"]
arr // ["a", "b", "c", "d"]
arr.splice(-4, 2) // ["c", "d"]
当参数为三个以上时。
let arr = [‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘];
arr.splice(4, 2, 1, 2) // ["e", "f"] 删除了e,f元素添加了1,2元素怒
arr // ["a", "b", "c", "d", 1, 2]
// 删除0个并添加一个
arr.splice(1, 0, 2) // []
arr // ["a", 2, "b", "c", "d"]
push 方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。
var arr = [];
arr.push(1,2) // 2
arr.push(‘a‘) // 3
arr // [1, 2,‘a‘]
pop 方法用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组。
var arr = [‘a‘, ‘b‘, ‘c‘];
arr.pop() // ‘c‘
arr // [‘a‘, ‘b‘]
push和pop的结合使用,构成了栈操作(先进后出)
var arr = [];
arr.push(1);
arr.push(2);
arr.push(3);
arr.pop();
arr // [1, 2]
shift 方法用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组。
let arr = [‘a‘, ‘b‘, ‘c‘];
arr.shift() // ‘a‘
arr // [‘b‘, ‘c‘]
push和shift结合使用,构成了队列操作(先进先出)
let arr = [];
arr.push(1);
arr.push(2);
arr.push(3);
arr.shift();
arr // [2,3]
unshift 方法用于在数组的第一个位置添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。
let arr = [‘a‘, ‘b‘, ‘c‘];
arr.unshift(2,3); // 5
arr.unshift(1); //6
arr // [1, 2, 3, "a", "b", "c"]
indexOf方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。
lastIndexOf方法返回给定元素在数组中最后一次出现的位置,如果没有出现则返回-1
有两个参数:参数一:表示匹配的值,参数二:开始匹配的位置
let arr = [‘a‘, ‘b‘, ‘c‘];
arr.indexOf(‘b‘) // 1
arr.indexOf(‘d‘) // -1
arr.indexOf(‘a‘,1) //-1
//从索引为1的位置开始搜索
reverse 方法用于颠倒数组中元素的顺序。返回改变后的数组,会改变原数组
let arr = [‘a‘, ‘b‘, ‘c‘];
arr.reverse() // ["c", "b", "a"]
arr // ["c", "b", "a"]
sort方法对数组成员进行排序,默认是按照字符顺序排序。排序后,原数组将被改变。
let arr = [‘d‘, ‘c‘, ‘b‘, ‘a‘]
arr.sort()
// [‘a‘, ‘b‘, ‘c‘, ‘d‘]
可以自定义排序,传入一个函数作为参数
//从小到大
let arr = [1, 8, 5, 4, 6]
arr.sort(function (a, b) {
return a - b;
//return b-a;从大到小
})
//[1, 4, 5, 6, 8]
map方法将数组的所有成员依次传入参数函数,然后把每一次的执行结果组成一个新数组返回。
let arr = [1, 2, 3];
arr.map(function (n) {
return n*2;
});
// [2, 4, 6]
forEach方法可以遍历数组拿到数组的每一项,来操作数据。
arr.forEach(
function(item,index){
//item 就是数组里面的每个元素
//index 就是每个索引
}
);
filter方法用于筛选、过滤数组,返回一个满足条件组成的一个新数组
let arr = [1,2,3,4,5,6]
arr.filter(function(item){
return item>3;
//返回大于3的项
}
)
[4,5,6]
String对象是javascript提供的字符串对象包装类型。
实例属性:length返回字符串的长度
‘abcd‘.length //4
实例方法:
charAt方法返回指定位置(索引)的字符
let str = ‘hello‘;
str.charAt(1) // ‘e‘
charCodeAt方法返回字符串指定位置(索引)的Unicode码
let str = ‘123abc‘;
str.charCodeAt(1); // 50
str.charCodeAt(3); // 97
concat方法用于两个的字符串的合并,返回一个新字符串
let str1 = ‘hello‘;
let str2 = ‘world‘;
str1.concat(str2); // ‘helloworld‘
slice方法用于提取字符串的一部分,返回新字符串
参数1:起始位置 。参数2:结束位置(本身不包含)
let str = ‘hello‘;
//参数只有一个时 一直到字符串结束
str.slice(1); // ello
str.slice(2,4)// ll
如果参数为负值,表示从最后开始倒数计算
let str = ‘hello‘;
str.slice(-2); //lo
str.slice(-3,-1) //ll
substring方法跟slice方法使用一样
substr方法跟前两种一样。区别在于substr第二个参数是截取的字符串长度
let str = ‘hello
//参数只有一个时,则一直到原字符串结束
str.substr(2) //llo
str.substr(2,2) //ll
indexOf方法返回给定字符在字符串中第一次出现的位置,如果没有出现则返回-1。
lastIndexOf方法返回给定字符在字符串的尾部开始匹配,如果没有出现则返回-1。
let str = ‘hello world‘
str.indexOf(‘o‘) //4
str.indexOf(‘c‘) //-1
str.lastIndexOf(‘o‘) // 7
当有两个参数时,第二个参数表示从该位置开始匹配
let str = ‘hello world‘
str.indexOf(‘l‘,3) //3
str.lastIndexOf(‘o‘, 6) // 4
trim方法用于去除字符串两端的空格,返回一个新字符串
该方法去除的还有制表符(\t,)、换行符(\n)、回车符(\r)
let str = ‘ hello world ‘
str.trim()// ‘hellow world‘
toLowerCase方法用于将字符串全部转为小写,
toUpperCase方法用于将字符串全部转为大写,
let str = ‘Jack‘;
str.toLowerCase() //‘jack‘;
let str1 = ‘jack‘
str1.toUpperCase() // JACK;
search方法用于原字符串是否匹配到某个字符串,返回值为匹配到第一个位置,没匹配到返回-1
let str = ‘cat,bat‘
str.search(‘at‘) // 1
replace方法用于替换匹配的子字符串,一般情况下只替换第一个匹配(若要匹配所有,需要使用正则g修饰符)
replace(旧字符,新字符)
let str = ‘abca‘;
str.replace(‘a‘,‘b‘); // ‘bbca‘
split方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。
let str = ‘a-b-c‘;
str.split(); // ["a-b-c"]
str.split(‘‘); // ["a","-","b","-","c"];
str.split(‘-‘); // ["a","b","c"];
。。。
标签:读取 日期 命名规则 join() 距离 dom 大整数 获取 创建
原文地址:https://www.cnblogs.com/wenyongjie/p/12634432.html