zoukankan      html  css  js  c++  java
  • 对象基础

    对象基础:

        引用数据类型:
        var person={
            name:"hjd",
            }
        //添加age属性:
        Object.defineProperty(person,"age",{
            value:"30";
        //可删除性:
        configurable:true(可删)/false(不可删);
        //可枚举性:
        enumerable:true//false;
        //可修改性:
        writable:true//false;
        })

    对象创建方式:
         //对象的添加:1
        var person={
            name:"zhangsan",
            age:23,
            say:function(){
                console.log(1,2,3)
            }
        };
        console.log(person.name);
        console.log(person.age);
        person.say();
        //    对象的添加:2
        var person1={
        };
        person1.name ="lisi";
        person1.age=34;
        console.log(person1.name);
        console.log(person1.age);

        //   对象的添加:函数方法3
        function getPerson(name,age){
           return{
               name:name,
                age:age,
            sayName:function(){
                console.log(1,2,3)
                }
           }

        }
        var person2=getPerson("wangwu",33);
        console.log(person2.name);
        console.log(person2.age);

        //    对象的添加:函数方法4
        //    返回object
        function getPerson1(name,age){
            var obj=new Object();
            obj.name=name;
            obj.age=age;
            obj.sayName=function(){
                console.log(2,3,2)
            };

            return obj;

        }
        var p1=getPerson1("liqi",25);
        console.log(getPerson1("liliu",20));
        console.log(p1.name);
        console.log(p1.age);


        //    构造函数:
        function Person3(name,age){
            this.name=name;
            this.age=age;
            this.sayName=function(){
                console.log(1,1,1)
            }
        }
        var person5=new Person3("WANG",57);
        console.log(person5.name);
        console.log(person5.age);
        person5.sayName();

      //    遍历对象的属性:
        
        for(var x in person1){
            console.log(x)
        }
        // 遍历对象的属性值:
        for(var x in person1){
            console.log(person1[x])
        }


        var arr=[1,2,3,4];
        arr1=["zhang","wang","li"];

    //    forEach遍历数组的值,后面要跟方法:

        arr.forEach(function(e){
            console.log(e+1);
        })//输出zhang1,wang1,li1


    原型和原型链:
        函数本身是一个对象:
        1.作为函数,拥有prototype属性,prototype的custractor属性又指向函数本身.此函数产生的对象拥有-proto-属性,这个属性值和产
        生他的函数的prototype属性是相等的.
        2.函数作为对象本身,也具有-proto-属性,此属性指向上一级产生它的函数的prototype值,当上一级到达object时,object的-proto-
        为null

    例子:

          function Person(){
        }
        Person.prototype.name="zhangsan";
        Person.prototype.arr=[1,2,3,4];
        var p1=new Person();
        p1.name="lisi";

        var p2=new Person();

        console.log(p1.name);
        console.log(p2.name);

        //等号就是重新赋值:而不是设置属性
        p2.arr=[1,2,3,4,5];
        p2.arr.push(7);
        console.log(p1.arr);
        console.log(p2.arr);
        //    console.log(p1.arr);
        //    console.log(p2.arr);

        //    共用一个原型
            //    p1.arr.push(7);
        //    console.log(p1.arr);
        //    console.log(p2.arr);
        

  • 相关阅读:
    Netcat实用操作
    Golang的面向对象实践method
    将大数组里面的小数组平行展开的实现(Making a flat list out of list of lists in Python)
    bootstrap table表格加载本地数据
    扎职扎职扎职扎职扎职扎职扎职扎职扎职扎职扎职
    java使用poi导出excel防止数字变成科学计数法的形式
    element-ui中搜索框回车刷新页面问题的解决方法
    范式建模的理解
    svn去除java编译后文件配置
    java中使用sublist方法获取list集合的前1000条数据
  • 原文地址:https://www.cnblogs.com/hongxuejiao/p/4824842.html
Copyright © 2011-2022 走看看