今天在看视频,学到原型链部分了,正好将之前的知识补充一下,三局口诀
Object这个类是所有类的基类,如果从之前的推理路径推断的话,它的原型对象指向了原型对象自己,事实上
Object.prototype.__ proto__ 值为null
讲解是说Object对象的原型对象没有这个属性 __ proto __ ,但是如果没有,应该是undefined才对,但是这里是null,并且在chrome里面查看,确实是没有这个属性的。
对了,__ proto __之前是说在生产省不要使用这个属性,就是因为在IE上直接使用这个属性会报错,因为IE为了保护原型上的属性不会瞎改。
其实对这两个关键字,理解的比较肤浅,都是跳出,但是break是会跳出整个循环,主要用在switch语句里面
而continue只是跳出当前循环,比如for循环中,在一次循环中,命中了某个条件,这次循环就跳出,继续下次循环,如果break在这儿,这整个循环就都结束了。
/*
* 数组去重方法
* */
Array.prototype.myUnique=function () {
var obj={}
for(var i=0;i<this.length;i++){
console.log(i);
var cur=this[i];
if(obj[cur]===cur){
this[i]=this[this.length-1]; //将这个用最后一个替换掉,并且,将数组缩短
this.length--;
i--; // 因为将数组缩短了,所以,需要将i减一,这样,这个地方的值还能被判断,必须减一
continue
}
obj[cur]=cur
}
obj=null
return this
}
var arr1=[1,2,3,4,5,1,2,3,4,5];
arr1.myUnique()
后面还有东西没搞完,时间太晚了,后面继续补上
原文:https://www.cnblogs.com/ysla/p/14141789.html