JS-第五章:几个引用类型简述

一.对象的创建方法

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();//四舍五入

猜你喜欢

转载自blog.csdn.net/xiaye_go/article/details/82820667