首页 > 编程语言 >Javascript笔记 - JS中的对象

Javascript笔记 - JS中的对象

时间:2022-11-01 21:44:08浏览次数:38  
标签:obj name 对象 age Javascript 笔记 JS 原型 属性

对象

目录

1. 对象的声明与定义

  • 显式声明对象并逐个定义属性

    var obj = new Object();
    //定义&修改属性
    obj.name = "Jack";
    obj.age = 18;
    //定义函数
    obj.fun = function(){
        alert("姓名:" + this.name + ",年龄:" + this.age);
    }
    
    //调用属性
    alert(obj.age);	
    //调用函数
    obj.fun();
    //删除属性
    delete obj.name;
    
  • 使用匿名对象声明并定义对象

    var obj = {
        name:"Jack",
        age:18,
        fun:function(){
            alert("姓名:" + this.name + ",年龄:" + this.age);
        }
    };
    
    alert(obj.age);
    obj.fun();
    delete obj.name;
    

2. 原型对象

  • 对于所创建的每一个函数,解析器都会向函数中添加一个属性prototype,这个属性所以对应的就是原型对象

  • 如果函数作为普通函数调用prototype,不会有任何作用

    但当函数以构造函数的形式调用时,它所创建的对象中都会有一个隐含的属性。这个属性指向该构造函数的原型对象,我可以通过__proto__来访问该属性

  • 原型对象就相当于一个公共的区域,所有同一个类的实例都可以访问这个原型对象,可以将对象中共有的内容,统一设置到原型对象中

    以后创建构造函数时,可以将这些对象共有的属性和方法,统一添加到构造函数的原型对象中,这样就可以在不影响到全局作用域的情况下,使每个对象都具有这些属性和方法

    Person.prototype.name = "jack";
    Person.prototype.age = "18";
    Person.prototype.gender = "female";
    Person.prototype.sayName = function(){
      alert("hi," + this.name);  
    };
    

3. 枚举对象中属性

特殊属性值

  • 特殊属性值能以一种更加灵活的的方法定义与调用属性:

    定义:对象["属性名"] = 属性值

    调用:对象["属性名"]

    var obj = new Object();
    obj["123"] = 789;
    console.log(obj["123"]);
    

in 运算符

  • 通过该运算符可以检查一个对象中是否含有指定的属性,有则返回true,反之返回false

    如果对象中没有但是原型中有也会返回true

    语法:"属性名" in 对象

    console.log("test2" in obj);
    

hasOwnProperty方法

  • 也可以使用该方法检查对象自身中是否含有该属性,此方法不受原型对象影响

    console.log(mc.hasOwnProperty("age"));
    

for...in 语句

  • 枚举对象中的属性,循环次数由属性数量决定,每次执行时会将对象中的一个属性的名字赋值给变量

    该语句需结合in运算符和特殊属性值使用

    语法:for(var 变量 in 对象){}

    for(var n in obj){
        console.log("属性名:" + n);
        console.log("属性值:" + obj[n]);
    }
    

标签:obj,name,对象,age,Javascript,笔记,JS,原型,属性
From: https://www.cnblogs.com/Solitary-Rhyme/p/16849279.html

相关文章

  • HTML笔记 - HTML中表单标签的使用
    HTML中表单标签的使用目录HTML中表单标签的使用1.表单标签2.表单的提交3.表单的格式化1.表单标签form标签表示表单inputtype效果设置text文件输入框......
  • day23 同源策略及JSONP
     同源策略(浏览器的一种机制)概述:浏览器为了安全,产生的一种同源策略,这个策略是为了防止一些恶意的请求,保护用户的隐私.同源策略主要有三个内容,分......
  • JavaScript知识体系(脑图)
    参考书目:《从0到1JavaScript快速上手》(莫振杰著)以下为个人读后参照此书所做,便于今后个人以及对JavaScript感兴趣的小伙伴对JavaScript有一个更系统的认识。......
  • Linux学习笔记(第六篇)Vi编辑器
    ​​Linux学习笔记(第零篇)计算机基础​​Linux学习笔记(第零篇)Linux文件系统及ShellLinux学习笔记(第一篇)零散命令Linux学习笔记(第二篇)目录操作命令Linux学习笔记(第三篇)文件操......
  • 【Three.js知识体系】思维导图
    参考书目:《Three.js开发指南》(JosDirksen著)......
  • JavaScript全局变量、局部变量的表示方法与例子
    全局变量:有两种表示方法:1.在函数外定义的变量;2.在函数内但没有使用var关键字声明的变量。表示法1例子:varcarName="Volvo";//此处可调用carName变量functionmyFun......
  • 学习笔记:Nim 游戏
    学习笔记:Nim游戏0一些定义与概念公平组合游戏(Impartialcombinatorialgame,ICG)公平组合游戏满足:由两名玩家交替移动;在游戏进程的任意时刻,可以执行的合法行动与......
  • 【笔记11】Javascript - 原型、原型链
    【笔记11】Javascript-原型、原型链原型原型是function对象的一个属性,它定义了构造函数选出的对象的公共祖先。通过该构造函数产生的对象,可以继承该原型的属性和方法。原......
  • Linux学习笔记(第零篇)计算机基础
    ​​Linux学习笔记(第零篇)计算机基础​​Linux学习笔记(第零篇)Linux文件系统及ShellLinux学习笔记(第一篇)零散命令Linux学习笔记(第二篇)目录操作命令Linux学习笔记(第三篇)文件操......
  • Linux学习笔记(第零篇)Linux文件系统及Shell
    ​​Linux学习笔记(第零篇)计算机基础​​Linux学习笔记(第零篇)Linux文件系统及ShellLinux学习笔记(第一篇)零散命令Linux学习笔记(第二篇)目录操作命令Linux学习笔记(第三篇)文件操......