分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

js面向对象

发布时间:2023-09-06 01:47责任编辑:郭大石关键词:js面向对象

object需要注意的地方;

在创建一个对象:1.  

var obj =new object();        obj.name="tom";        obj.age="18"; /* 这是给创建的对象进行一个传参;*/
        obj["var"] = "123"; //这也是一种给对象进行传参的一个写法;
        console.log(obj["var"]);//同时访问时候也需要这样去访问;
        obj["123"] = 789;
        var n = "123";
        console.log([n]); //"789";  
        obj.test1 = null; 
        obj.test2 = undefined; //console.log(obj.test2)打印出一个undefined;
        obj.test3 = true;  //同样的道理也会打印出true;
        console.log(obj.test1);//null 在console.log打印下会输出的一个null 不会报错;  
  //js的数据类型可以是任意的数据类型;甚至它也可以是一个对象如:

   obj.test =obj2 ;var obj2 = {name : "猪八戒"}; console.log(obj.test); //打印出name = "猪八戒"
  /* in 运算符
  * -通过该运算符可以检查一个对象中是否含有指定的属性
  *  如果有则返回true,没有则返回false;
  *  -语法:
  *    “属性名” in 对象
  */ 
   console.log("test" in obj); 
var obj2=  //这也是创建对象的一种方法;
  {
    name:"xiaobai",
    "age":"23" ?//在对象中 属性名是允许带引号的;但是我建议不要去带。
  };
var obj3 =
  {
    name:"ton",  
    age:"18"
  }
var obj4 = obj3;
  console.log(obj4.name); // 打印出“ton”。
如果我改变 ???obj3.name = "lily";
  console.log(obj4.name); 打印出”lily“。
那么我现在改变 ?obj4 = null;
  console.log(obj3.name); 打印出“lily”
?注释:这里obj3是在堆里创建的对象,它只是拿到一个堆内存放的地址如 0x123,同样obj4是复制obj3的地址 来进行操控。
如果我创建2个obj 如:
  var obj5 =
   {
   name:"ton",
   age:"21"
   };
  var obj6=
  {
  name:"ton",
  age:"21"
  }
  obj5 == obj6;
那么我改变
  obj5.name ="tom";
  console.log(obj6.name); //打印输出“ton”。
  注释:这里他们虽然都相同,但是各自创建的对象都是在堆里创建,且是不同的块,所以当obj5改变时候 obj6不会改变。

 实际开发中一定要注意。

js面向对象

原文地址:https://www.cnblogs.com/l8l8/p/8672546.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved