一.对象的创建方法
1. let obj = new Object();//会调用构造函数
2.let obj = {};//不会调用构造函数
二.获取对象属性的方法
1. let atrr = obj["attr"];
2.let attr = obj.attr;
三.数组对象的特性和接口
(1).创建方法
1.let arr = new Array(3);//规定了长度为3//如果取 arr[3]//(长度之外)则值为undefine!!!
2.let arr = [];//没有规定长度
(2).部分方法
1.arr.push(one, twe);//尾部可以push多个元素
2.arr.pop();//弹出最后一个原色
3.let item = arr.shift();//弹出首元素
3.arr.unshift(one, two);//首部插入元素
4.arr.reverse();//反排序
5.arr.sort();//按字符串来排序
6.arr.sort(comparefunction);//传入比较函数,可以按元素的某些值来排序
7.arr.concat(arr1,arr2);//数组连接,返回新的数组,不会改变原来的数组
8.arr.slice();
9.arr.splice();//删除,插入,替换
10.arr.indexOf(item);//从头查找//返回下标
11.arr.lastIndexOf();//从尾查找
四.函数对象
(1)基本特性:
1.函数名是一个指针,引用类型,本质为一个对象,所以js函数没有重载(可以模拟)
2.函数表达式let fun = function name(){} 和函数声明 function fun(){}的区别:函数声明可以被预解析而函数表达式不可以
所以函数声明的函数使用可以在函数声明之前,而表达式不行,因为执行环境找不到函数(没有预解析,提前)
3.arguments.callee拥有这个arguments对象的函数(需要在函数内调用函数才有这个)
4.arguments.caller保存着调用当前函数的函数引用(是个函数引用)
(2).常用函数使用区别
1.fun.apply(target,arguments);//第一个为调用者,第二个为参数数组
2.fun.call(target,arg1, arg2);//第一个为调用者,之后为参数
3.fun.bind(target, arg1,arg2);//与前两个区别:前两个为直接调用该函数,而bind方法为创建函数的引用(类型函数副本,临时变量同一个指针)
五.基本包装类型:String,Number,Boolen
(1)基本特性
本质为对象,储存在堆中,有封装的方法
(2)字符串的引用对象的方法
var stringValue = "hello world";
alert(stringValue.slice(3)); //"lo world"
alert(stringValue.substring(3)); //"lo world"
alert(stringValue.substr(3)); //"lo world"
alert(stringValue.slice(3, 7)); //"lo w"
alert(stringValue.substring(3,7)); //"lo w"
alert(stringValue.substr(3, 7)); //"lo worl"
六.Math常用方法的使用
Math.max();//取数组的最大值
Math.min();//取数组的最小值
Math.ceil();//向上取舍
Math.floor();//向下取舍
Math.round();//四舍五入