从源代码的角度理解内置对象(构造函数)
- 本地对象: Object Function Array String Boolean Number Date 这些是基本的类(引用类型);使用这些引用类型的时候需要进行实例化;归根到底:这些只不过就是内置的构造函数而已,仅此而已 you can do , we all can do
- Math对象不需要new就可以直接使用,而其他对象的方法需要new才能调用它们的方法
- 所有的构造函数—->Function构造函数—–>Object构造函数
- function (小写) 用来声明函数 ; 就像用 var 声明 一个变量是一样的
Function 内置对象源代码 : Function是所有函数的构造函数,包括下面的内置对象
|
|
所有的函数都是继承了Function的原型
Math内置对象源代码如下: Math对象本身就是一个对象,不需要声明就可以直接调用其方法,将Math作为对象,然后调用其方法就可以了
|
|
Array 内置对象(构造函数)源代码如下:
|
|
数组的定义
- var arr = [ ]; var arr = new Array() ;
- var arr = new Array(size) ; 表示定义个数组长度为size ,length为size
- var arr = new Array(item1,item2,····),表示定义了具体的一个数组,length为item的个数
1 arrObject.shift() : 改变原数组 删除数组的第一个 元素,返回所删除的元素;
arrObject.pop( ) : 改变原数组 删除数组的最后一个 元素,返回所删除的元素;
注意如果要操作的数组为空,那么该方法不改变数组,注意返回值是undefined 不需要传参
2 arrObject.unshift( item1,item2,···· ) : 改变原数组 向原数组中头部添加一个或多个元素,返回添加后的数组的长度;
arr.Object.push ( item1,,iten2,···· ) :改变原数组 向原数组中最后添加一个或多个元素,返回添加后数组的长度;
需要传一个参数,可以传入基本数据类型,也可以是复杂数据类型,比如向数组中添加一个对象
3 arrObject.slice(start,end) :不改变原数组 ,返回一个新的数组,会重新开辟一块内存,存储返回的数组,start必须,表示从哪个位置(索引处)开始截取数组,end可选,如果没有设定,则表示从start开始到最后所有的元素,包括start索引出的元素,不包括end索引处的元素
4 arrObject.splice(index,howmany,item1,item2,····) 改变原数组,返回含有被删除元素的数组,会重新开辟一块内存,存储返回的数组 index表示开始删除元素的索引值,howmany表示要删除的元素的个数(可以为0 ,表示不删除元素,如果未规定这个数字,那么表示删除从index索引出开始到结束所有的元素),itemx 表示要添加的元素
5 arrObject.sort( sortby) 改变原数组 如果不传参数,默认按照字符编码 顺序进行排序;如果传入一个函数,按照函数规定的规则排序;
5 arrObject.concat(arr1,arr2····) ,不改变原数组,返回一个新的数组,会重新开辟一块内存,存储返回的数组 可以添加元素,也可以添加数组;
6 arrObject.join(seperator) ,不改变原数组 该方法把数组中的所有元素中间加一个分隔符,组成一个字符串返回
7 arrObject.toString() ; 不改变原数组 返回值与没有参数的 join() 方法返回的字符串相同。其实就是应用了join方法;
8 arrObject.reverse() ; 改变原数组 返回颠倒后的数组的引用;
9 arrObject.forEach( funtion(item,index) { } ) ; 这个是遍历数组的新的方法,第一个参数是数组中的每一个元素,第二个参数index代表每个元素的索引;function函数里面的this指向是window;
4 既然数组在new之后是一个对象,var arr = new Array() 或者通过字面量声明一个数组 var arr = [1,2,3],那么数组就可以作为对象进行操作,然后给数组添加属性
|
|
Object 内置对象(构造函数)源代码如下
|
|
Date内置对象(构造函数)的源代码如下
|
|
RegExp正则对象
|
|
创建正则对象的方法:
|
|
正则对象的属性
|
|
正则对象的方法
|
|
###JS包装对象如下
Boolean 内置对象(构造函数)的源代码如下
|
|
Number内置对象(构造函数)的源代码如下
|
|
1 numberObject.toString() 可以传入基数,表达将数字按照那个进制转化为字符串
2 numberObject.valueOf() 得到number对象的原始值;
3 numberObject.toFixed(n) 返回的是具有指定位数小数的数字的字符串表示
String 内置对象
|
|