• JS 中 对象 基础认识


    俗话说:“万物皆对象”,在 Javascript  中除了原始值几乎所有的东西都可以看做对象:

    • 布尔是对象( new 关键词定义)
    • 数字是对象( new 关键词定义)
    • 字符串是对象( new 关键词定义)
    • 日期永远都是对象
    • 算术永远都是对象
    • 正则表达式永远都是对象
    • 数组永远都是对象
    • 函数永远都是对象
    • 对象永远都是对象

     

    一、什么是原始值

    Javascript 中原始值是指没有属性和方法的值。

    原始数据类型(拥有原始值的类型):

    • string
    • number
    • boolean
    • null
    • undefined

     

    二、什么是对象

    “万物皆对象”,在 Java 中对象的定义:对象就是存在的具体实体,具有明确定义的状态和行为,是面向对象编程的核心,用来描述现实世界中的实体,为计算机应用程序提供实体基础,也是完成特定任务一个封装。

    Javascript 中的对象是包含变量的变量,但是对象能够包含很多值。可以理解为:对象是属性和方法的命名值得容器 

    var person = {firstName:"Coder", lastName:"Yarn", age:22, eyeColor:"black"};

     

    对象命名值 对象属性

    属性
    firstName Coder
    lastName Yarn
    age 22
    eyeColor black

     

    对象方法:方法是可以在对象上执行的动作,即在对象身上发生的事件

    属性 方法
    fullName function() {return this.firstName + " " + this.lastName;}

     

    三、对象的创建

    创建对象主要三种方法:

    • 对象字面量;
      var person = {
          firstName:"Coder", 
          lastName:"Yarn", 
          age:22, 
          eyeColor:"black",
          fullName:function() {
              return this.firstName + " " + this.lastName;
          },
      };
    • new object();
      let person = new Object();
          person.firstName = "Coder"; 
          person.lastName = "Yarn";
          person.age = 22; 
          person.eyeColor = "black";
          person.fullName = function() {
              return this.firstName + " " + this.lastName;
          };
    • 自定义构造函数;
      function Person(){
          constructor(firstName,lastName,age,eyeColor){
              this.firstName = firstName;
              this.lastName = lastName;
              this.age = age;
              this.eyeColor = eyeColor;
          };
          this.fullName = function() {
              return this.firstName + " " + this.lastName;
          };
      };
      
      var person1 = new Person("Coder","Yarn",22,"black");
      
      console.log(personl);
      console.log(person1.fullName());
      
      //打印的结果
      Coder
      Yarn
      22
      black
      Coder Yarn

     

    注意:出于简易性、可读性和执行速度的考虑不会使用第二种方法(new Object()),而是使用第一种创建方法(对象字面量方法)。

    在 ES5 中为了简化代码,将对象共同拥有的属性和方法都放在同一个函数中,这个函数就是我们自定义的构造函数,即 Java 中的类,然后可以通过 new 一个实例对象来使用这些属性和方法,不过这种方法特别地浪费内存。 ES6 后几乎都使用对象字面量方法来创建对象。

  • 相关阅读:
    尝试了一个自然语言模型BLOOM
    Go连接Redis集群并实现单例,组件go-redis
    HTML布局(HTML Layout)简介
    深度优先搜索(dfs)--矩阵部分-leetcode以及常见题
    MySQL增删改查语句练习(grade表,student表,subjects表,result表)
    2023年11月5日网规考试备忘
    Sora引发安全新挑战
    # ubuntu22下配置postgresql远程访问
    高清无线传输同屏器如何实现,无线,1屏和4屏,2屏和3屏显示一样的画面,从3屏和4屏和可以对PC端控制。
    【编译原理】语义分析
  • 原文地址:https://www.cnblogs.com/cyy22321-blog/p/16215385.html