7. 对象:
对象的三种声明与调用方法
//第一种声明方法
let ObjectName = {
value1:'good',
value2: 16,
functionName: function() {
console.log("Hello World");
}
}
//第二种声明方法
let ObjectName = new Object();
ObjectName.value1 = 'good';
ObjectName.value2 = 16;
ObjectName.funtionName = function(){
console.log("Hello World");
}
//第一种调用方法
console.log(ObjectName.value1);
//第二种调用方法
console.log(ObjectName['value1']);
构造函数的声明与调用方法
//构造函数的使用
function ObjectName(value1, value2) {
this.value1 = value1;
this.value2 = value2;
this.functionName = function() {
console.log("Hello World");
}
}
//构造函数调用方法
let aObject = ObjectName(1,2);
对象的遍历
for(let value in ObjectName){
//遍历属性名
console.log(value);
//遍历属性值
console.log(ObjectName[value]);
}
8. 内置方法:
数学方法:
方法 |
说明 |
Math.PI |
圆周率 |
Math.floor() |
向下取整 |
Math.ceil() |
向上取整 |
Math.round() |
四舍五入取整 |
Math.abs() |
绝对值 |
Math.max()/Math.min() |
最大值与最小值 |
function getRandom(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
日期方法:
方法 |
说明 |
ObjectName.getFullYear() |
获得当年 |
ObjectName.getMonth() |
获得当月(会小一个月) |
ObjectName.getData() |
获取当天日期 |
ObjectName.getDay() |
获取星期几(星期日是0) |
ObjectName.getHours() |
获取当前小时 |
ObjectName.getMinutes() |
获取当前分钟 |
ObjectName.getSeconds() |
获取当前秒钟 |
ObjectName.getTime() / .now() |
获取从1970年到现在有多少毫秒 |
//获取当前时间
let Now = new Data();
//获取指定时间
let DataName = new Data('2019-10-1 8:8:8');
数组方法
方法 |
说明 |
是否改变原数组 |
array.pushi(value1,....) |
数组末尾添加一个或多个元素,返回新的数组长度 |
是 |
array.pop() |
删除数组中的最后一个元素,返回删除的值 |
是 |
array.unshift(value1,...) |
向数组的开头添加一个或更多元素,返回新的长度 |
是 |
array.shift() |
删除数组中的第一个元素,更改原数组,返回删除的值 |
是 |
reverse(array) |
将数组反转,返回新数组 |
是 |
sort(array) |
将数组排序,返回新数组 |
是 |
array.indexOf(value) |
在数组中查找一个元素返回下标,不存在就返回-1 |
否 |
array.lastIndexOf(value) |
反向查找元素并返回下标,不存在返回-1 |
否 |
array.toString() |
转换成字符串,返回新数组 |
否 |
array.join(value) |
数组中插入分隔符,返回新数组 |
否 |
array.concat(array1,...) |
将array与多个数组组合,返回新数组 |
否 |
array.slice(begin,end) |
截取数组begin到end的元素,返回新数组 |
否 |
array.splice(begin,m) |
截取数组begin往后num个元素,返回新数组 |
是 |
//初始化一个长度为6的数组
let array = new Array(6);
//初始化一个多元素数组
let array = new Array(1,2,3,4,5);
字符串方法:
方法 |
说明 |
string.indexOf(findStr, begin) |
从begin下标处查找findStr返回下标,不存在则返回-1 |
string.lastIndexOf(findStr) |
从后面向前查找findStr返回下标,不存在返回-1 |
string.charAt(index) |
返回string的index位置字符 |
string.charCodeAt(index) |
返回string的index位置字符的asscll码 |
str[index] |
返回string的index位置字符(html5 / IE8+) |
string.concat(str1,str2,....) |
拼接两个字符串,与+一样 |
string.substr(begin,length) |
返回从begin后length位的数组 |
string.slice(begin,end) |
返回从begin开始截取到end位置(end取不到) |
string.substring(begin,end) |
与slice类似,不接受负值 |
string.replace(str1,str2) |
返回字符串中str1替换为str2的字符串 |
string.toUpperCase() |
返回转为大写的字符串 |
string.toLowerCase() |
返回转为小写的字符串 |
string.split(value) |
用value分割字符串,返回一个分割后的数组 |
var str = 'abc';
str = 'hello';
// 当重新给 str 赋值的时候,常量'abc'不会被修改,依然在内存中
// 由于字符串的不可变,在大量拼接字符串的时候会有效率问题重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
var str = '';
for (var i = 0; i < 100000; i++) {
str += i;
}
console.log(str); // 这个结果需要花费大量时间来显示,因为需要不断的开辟新的空间