数组的常用方法:---es3.0
- 改变原数组
push pop,shift,unshift,sort,reverse,
splice
- 不改变原数组
Concat,joinàsplit,toString,slice
补充:
这样归类还不太好,应该分成es3.0,es5.0,es6.0的方法,JavaScript有三个部分组成,ECMAScript,DOM,BOM,ECMAScript就是JavaScript的作者创建的,这个DOM,和BOM不是完全他创建的,只不过是他给出的一个规则,咱们现在学的都是ECMAScript。DOM可以通过JavaScript可以操作HTML;BOM可以通过JavaScript操作浏览器的。由各个浏览器厂商补充方法,各个浏览器的厂商又丰满了JS的另一部分,结合起来生成可一个全新的JS。所以不同的浏览器在DOM和BOM身上可能有细微的差别。JavaScript的兼任性全出在DOM和BOM身上,这个DOM还好,这个BOM基本上是全部不是兼容的,因此在实战开发中是不允许修改BOM的!
ECMAScript 从1.0---7.0,7.0的标准刚刚通过只不够还没有市场投放,1.0废弃了。2.0没有用,3.0是最标准的方法,咱学的知识都是基于3.0的,5.0是在3.0上加了几个方法而已,还并不是所有浏览器(新老版本)都好使,6.0又提出了一些新方法。
Push:
var arr = [];
Push是往数组里面添加东西的,还是在数组的最后一位放东西。
Push一次就能添加一个数据吗?
他可以同时添加!
那现在咱们来模拟一下:
咱先写一个push看看能不能覆盖他,看看系统给不给咱权限,
var arr = [1,2,3];
Array.prototype.push = function(){
return "haha";
}
好了,现在就在这个基础上写。
Push是往里面放东西的,要写形参吗?
不能写吧,如果你写形参你写几个?他可以无尽的传。
比如现在的数组已经有两位了,我们在push一个3进去,3放在数组的最后一位,数组的最后一位怎么表示?
arr[2]吧。所以要往数组里面填东西,就是往数组的第length填东西吧。
var arr = [1,2,3];
Array.prototype.push = function(){
for(var i = 0 ;i , arguments.length; i ++){
this[this.length] = arguments[i];
}
return this.length;
}
所以像这样简单的方法不用看他怎么用,得看他是怎么写的。
Pop:
把数组的最后一位剪切出去,不叫删除!!!!
Pop在执行的时候不用传参,你传了也没用。
你传了也没用!!他就是剪切最后一位。