zoukankan      html  css  js  c++  java
  • js基础知识之二

    今天在看视频,学到原型链部分了,正好将之前的知识补充一下,三局口诀

    1. 每一个函数,都有一个天生自带的属性,prototype,也叫原型,这个属性是一个对象数据类型
    2. 在prototype这个对象上,浏览器默认给它添加了一个属性,constructor,指向当前的函数
    3. 每个对象都有一个自带的属性,__ proto __,这个属性指向当前实例所属的类的实例对象

    Object这个类是所有类的基类,如果从之前的推理路径推断的话,它的原型对象指向了原型对象自己,事实上
    Object.prototype.__ proto__ 值为null
    讲解是说Object对象的原型对象没有这个属性 __ proto __ ,但是如果没有,应该是undefined才对,但是这里是null,并且在chrome里面查看,确实是没有这个属性的。

    对了,__ proto __之前是说在生产省不要使用这个属性,就是因为在IE上直接使用这个属性会报错,因为IE为了保护原型上的属性不会瞎改。

    continue与break的不同

    其实对这两个关键字,理解的比较肤浅,都是跳出,但是break是会跳出整个循环,主要用在switch语句里面
    而continue只是跳出当前循环,比如for循环中,在一次循环中,命中了某个条件,这次循环就跳出,继续下次循环,如果break在这儿,这整个循环就都结束了。
    看下面的代码就能很明白的知道两者的不同,如果使用break,那就比较暴力了,直接 掀桌子,像古惑仔乌鸦一样,大家后面都没得吃了,但是如果是continue呢,小时候大家排队打饭,本来你前面有个人,突然被踢走了,这个人不在,直接过了,就到你了

    
       var text="";
        for (i = 0; i < 10; i++) {
            console.log(i);
    
            // if (i === 3) { break; }
            if (i === 3) {
                continue
                console.log(55);
            }
            text += "数字是 " + i + "<br>";
    
        }
        console.log(text);
    
    

    贴一个数组去重的写法,之前没尝试过,

        /*
        * 数组去重方法
        * */
        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()
    
    

    后面还有东西没搞完,时间太晚了,后面继续补上

  • 相关阅读:
    读书笔记——高效能人士的七个习惯3
    读书笔记——高效能人士的七个习惯2(四类优先级)
    读书笔记——高效能人士的七个习惯1
    任正非最新谈话:吉田社长
    罗辑思维CEO脱不花:关于工作和成长,这是我的121条具体建议
    不需注释的生命
    读书笔记:《尽管去做——无压工作的艺术》摘抄
    C语言中变量名及函数名的命名规则与驼峰命名法
    回车”(carriage return)和”换行”(line feed)的区别和来历-(附:ASCII表)
    printf输出格式总结
  • 原文地址:https://www.cnblogs.com/ysla/p/14141789.html
Copyright © 2011-2022 走看看