js面向对象

对象定义的三种方式:

1 . var obj1 = {"name" : "张三"}

2 .var obj2 = new Object({name:"张三"});

3 . var obj3 = Object.create({name:"张三"});

var obj1 = {
    name:"李四",
    age:19,
};

直接定义对象

var obj1 = new Object({“name”:"张三"});

追加定义对象

var obj3 = new Object();
obj3.name = "张三";
obj3.age = "20";

覆盖定义对象;

obj3 = {
      "height":"178cm",
       hobby:function(){
          console.log("爱好");
      }
}

js对象的键名不需要双引号,json的键名需要双引号 规范外单内双

var json = '{"name":"张三","age":"19"}';

对象转换成json
    var json1 = JSON.stringify(obj3);
json数据转换成对象
    var json2 = JSON.parse(json1);

传值与传值

  • 传值:
      var a = 10;
      var b = a;
      b = 5;
      console.log(a);//10
    
  • 传址:对象赋值取相同的内存地址;
      var obj = {
          a:10
      }
      var obj2 = obj;
      obj2.a = 5;
      console.log(obj.a);//5
    

深度拷贝;arr 和 arr2之间不会有联系

var arr = [1,2,3,4,5];
var arr2 = arr;
var arr2 = JSON.parse(JSON.stringify(arr));
arr2[2] = 7;
console.log(arr);
console.log(arr2);
image.png

对象属性和方法的调用

var dog = {
            name:"wuli",
            gender:"female",
            eat:function(){
                console.log("吃");
            },
            play:function(){
                console.log("撒欢");
            },
            call:function(){
                console.log("叫");
            }
        }
        console.log(dog);
//      调用属性
        console.log(dog.name);
//      调用方法
        dog.eat();
        dog.play();
        dog.call();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、面向过程和面向对象的区别、联系 1.面向过程编程:注重解决问题的步骤,分析问题需要的每一步,实现函数依次调用。...
    空谷悠阅读 913评论 1 11
  • 面向对象 类,原型,实例三者打交道 类里面存放的都是私有属性和方法 原型prototype上存的都是公有的属性和方...
    Dream_丹丹阅读 341评论 0 0
  • 面向对象与面向过程 定义面向过程:是一种以过程为中心的编程思想。,注重解决问题的步骤分析问题需要的每一步,实现函数...
    likeli阅读 267评论 1 1
  • title: js面向对象date: 2017年8月17日 18:58:05updated: 2017年8月27日...
    lu900618阅读 588评论 0 2
  • 闪粉这种Blingbling的东西不仅女孩喜欢,男孩也难以抗拒。
    瑞秌阅读 598评论 0 0