俗话说:“万物皆对象”,在 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 后几乎都使用对象字面量方法来创建对象。

JS 中 对象 基础认识的更多相关文章

  1. [转]JS中对象与字符串的互相转换

    原文地址:http://www.cnblogs.com/luminji/p/3617160.html 在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: thr ...

  2. JS中对象与字符串的互相转换

    在使用 JSON2.JS 文件的 JSON.parse(data) 方法时候,碰到了问题: throw new SyntaxError('JSON.parse'); 查询资料,大概意思如下: JSON ...

  3. js中对象的一些特性,JSON,scroll家族

    一.js中对象的一些特性 对象的动态特性 1.当对象有这个属性时,会对属性的值重写 2.当对象没有这个属性时,会为对象创建一个新属性,并赋值 获得对象的属性的方式 为元素设置DOM0级事件 二.JSO ...

  4. js中对象转化成字符串、数字或布尔值的转化规则

    js中对象可以转化成 字符串.数字.布尔值 一.对象转化成字符串: 规则: 1.如果对象有toString方法,则调用该方法,并返回相应的结果:(代码通常会执行到这,因为在所有对象中都有toStrin ...

  5. 【转载】js中对象的使用

    原文链接:http://www.jb51.net/article/90256.htm[侵删] 简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一 ...

  6. JS中对象按属性排序(冒泡排序)

    在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序. 例如返回的数据结构大概是这样: { result:[ {id:,name:'中国银 ...

  7. js中对象使用

    简单记录javascript中对象的使用 一.创建对象 //创建一个空对象 var o={}; //创建一个含有两个属性的对象,x.y var o2={x:12,y:'12',name:'JS'}; ...

  8. JS 中对象的简单创建和继承

    对象的简单创建 1.通过对象直接量创建 比如 var obj = {}; 2.通过new 创建 比如 var obj = new Object(); // 相当于var obj = {}; var a ...

  9. js中对象的创建

    json方式,构造函数方式,Object方式,属性的删除和对象的销毁 <html> <head> <title>js中的对象的创建</title> &l ...

随机推荐

  1. Java 线程具有五中基本状态 ?

    1.新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(): 2.就绪状态(Runnable):当调用线程对象的 start()方法(t.st ...

  2. mac 添加java_home 和启动es

    转:https://www.cnblogs.com/wxmdevelop/p/9935797.html p.p1 { margin: 0; font: 11px Menlo; color: rgba( ...

  3. Javascript Promises学习

    Promise对象的三个状态 pending(进行中) fulfilled(已成功) rejected(已失败) Promise代表一个异步操作,对象的状态一旦改变,就不会再改变 Promise构造函 ...

  4. Redis 回收进程如何工作的?

    一个客户端运行了新的命令,添加了新的数据.Redi 检查内存使用情况,如 果大于 maxmemory 的限制, 则根据设定好的策略进行回收.一个新的命令被执 行,等等.所以我们不断地穿越内存限制的边界 ...

  5. Swing 是线程安全的?

    不是,Swing 不是线程安全的.你不能通过任何线程来更新 Swing 组件,如 JTable.JList 或 JPanel,事实上,它们只能通过 GUI 或 AWT 线程来更新. 这就是为什么 Sw ...

  6. (6) 结论,摘要与题目_Conclusion, Abstract, and Title【论文写作】

  7. 前端文件上传-javascript-ajax

    书写是为了更好的记忆. 方案一:form表单上传 该方案优点是支持好,缺点刷新页面. <form action="url" method="post" e ...

  8. ES6-11学习笔记--Generator

    基本使用 function后面加个*号 function* foo() { for (let i = 0; i < 3; i++) { yield i; // yield不能作为构造函数去使用, ...

  9. TINY语言采用递归下降分析法编写语法分析程序

    目录 自顶向下分析方法 TINY文法 消左提左.构造first follow 基本思想 python构造源码 运行结果 参考来源:聊聊编译原理(二) - 语法分析 自顶向下分析方法 自顶向下分析方法: ...

  10. Oracle临时表空间语句、作用

    在Oracle数据库中:一个表空间只属于一个数据库使用:而一个数据库可以拥有多个表空间.属于"一对多"的关系 我们对照着mysql来理解. 1.Oracle有表空间,mysql没有 ...