JavaScript笔记(2)

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年到现在有多少毫秒
  • Data对象的初始化 (调用方法必要过程):
//获取当前时间
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); // 这个结果需要花费大量时间来显示,因为需要不断的开辟新的空间
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容