zoukankan      html  css  js  c++  java
  • js中的面向对象part2

     。。。第一个重点:属性值的添加

    ./[]

    var obj={}

    obj.name="jialiting";//通过.来进行属性的添加,单引号和双引号都可以呢

    obj['age']=20;

    console.log(obj.name);

    console.log(obj["age"]);

    他们之间的区别

    1,.取自身的一个属性

    2[]可以是变量 

    //实例

    var obj2={};

    obj2.name="jialiting";

    obj2.a="aaa";

    var a="name";

    console.log(obj2["a"]);//的结果aaa 变量和字符串的区别是否添加字符串

    console.log(obj2[a]);//的结果是jialiting 中的a是一个变量 obj2["name"];

    。。。第二个是属性的删除

    与后端的交互的时候,有时候一些值不需要呢

    var obj3={}

    onj3.name="lili"

    obj3.age=20;

    obj3.state=false;

    var age="age";

     delete obj3.name;//也可以用[];删除属性 obj3["name"];

    delete obj3["age"];

    console.log(obj3);

    delete obj3[age];

    数组元素中的删除用push() splice() unshift()

    。。。第三个重点是属性的检测

    //属性的检测 判断对象中是否存在属性

    //in 相当于对应的运算符 

     var obj4={

    name:"jiali",//嵌套字面量必须用逗号

    age:20,

    };

    console.log("name1" in obj4)//属性的名字  in 对象 false in可以获取继承的

    //使用对象的方法 hasOwnproperty()

    var obj5={

    name:"jiali",

    age:23

    };

    var a="name";

    //obj5.hasOwnproperty("name"); true 获取不到继承

    ob5.hasOwnProperty(a);a中是变量 变量可以分为全局变量和局部变量

    。。。判断他是否是存在!=undefined值得判断

    console.log(obj5.name!==undefined);//=的意思是赋值 true

     if(a=="name"){//如果为真表示

    }//表示匹配

    ===全等 全等的概念就是值和类型进行匹配0===“0”类型匹配 一个是数字 一个是字符串

    !=它表示不等于 取反

    !== 

    。。。第四个重点就是枚举属性

    1.for in 

    var arr=["q","a","c"];

    var o={name:"jiali",age:20}

    for(a in o){//for(属性 in 对象)a的类型是一个字符串

    console.log(a);}//的结果是name age

    console.log(o[a]);//的结果是jiali 20中a是一个变量

    console.log(o.a);//的结果是 undefined undefined 记住不能写上o.a

    //数组

    for(a in arr){

    console.log(arr[a]);//q a c

    console.log(a);//0 1 2}

    for (var i=0; i<10;i++){}

    forEach()没有返回值

    map() 回调函数中,支持return返回值

    0.1 

    var arr2=["a","b","c"]

    arr2.forEach(function(item,index){

    console.log(item)

    //a b c

    }

    0.2

    var arr3=["a","b","c"]

    arr3.map(function(item,index){

    return item;

    }

    。。。。第五个重要知识

    序列化

    JSON.parse()对象字符串转化为对象(深拷贝)

    JSON.stringify()对象转化为字符串

    var o={name:"jiaji",age:20}

    console.log(typeof JSON.stringify(o))//的结果是string

    console.log(typeof o);//的结果是object

    2

    var o={name:"jiali",age:30}

    var o2=JSON.stringify(o);

    console.log(type JSON.parse(o2));//object

    。。。。深拷贝(双胞胎)和浅拷贝(引用和影子)的区别

    数组 slice() concat()返回新的数组

    var arr4=["a","b",“c",”d"];

    //arr4.slice(1,2);//不包含最后一个["b"]

    //arr4.slice(1,3);//["b","c"]

    //arr4.slice(0)//["a","b","c","d"];

    //var arrCopy=arr4.slice(0);

    var arrCopy=arr4.concat(”x","y");//合并 ["a","b","c","d","x","y"]

    arrCopy[2]="abc";

    arrCopy;//["a","b","abc","d"];

  • 相关阅读:
    【转】ThinkPHP 页面跳转
    thinkphp中select()和find()的区别
    (Python)异常处理try...except、raise
    python中try except处理程序异常的方法
    SNMP消息传输机制
    公钥私钥+数字证书原理
    转:使用python的Flask实现一个RESTful API服务器端
    转:xxe attack学习
    转:php防止sql注入的一点心得
    转:在 Ubuntu 上使用 Nginx 部署 Flask 应用
  • 原文地址:https://www.cnblogs.com/christinejia/p/9122601.html
Copyright © 2011-2022 走看看