博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对象基础
阅读量:6037 次
发布时间:2019-06-20

本文共 2123 字,大约阅读时间需要 7 分钟。

对象基础:

    引用数据类型:
    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);
    

转载于:https://www.cnblogs.com/hongxuejiao/p/4824842.html

你可能感兴趣的文章
Top命令内存占用剖析
查看>>
转 网络IO模型:同步IO和异步IO,阻塞IO和非阻塞IO
查看>>
求带分数(蓝桥杯)
查看>>
Bootstrap系列 -- 11. 基础表单
查看>>
格拉西安《智慧书》中最有价值的23条法则
查看>>
7款经典炫酷的HTML5/jQuery动画应用示例及源码
查看>>
那些年我们一起追过的缓存写法(四)
查看>>
mssql手工注入
查看>>
zoj 3203 Light Bulb,三分之二的基本问题
查看>>
Oracle如何删除表中重复记录
查看>>
洛谷八月月赛Round1凄惨记
查看>>
Retrofit 入门学习
查看>>
【树莓派】树莓派网络配置:静态IP、无线网络、服务等
查看>>
JavaScript——双向链表实现
查看>>
抽象类和借口的区别
查看>>
nginx的location root 指令
查看>>
zDiaLog弹出层
查看>>
linux不常用但很有用的命令(持续完善)
查看>>
NFine常见错误
查看>>
zabbix报警媒介------>微信报警
查看>>