拿捏javascript对象增删改查应用及示例

目录
  • 什么是对象?
  • 为什么需要对象?
  • 创建对象的三种方式
    • 利用对象字面量创建对象
    • 利用new关键字创建对象
    • 利用构造函数创建对象
    • new关键字的执行过程
  • 对象属性的增删改查(和py的字典类似)
  • 遍历对象
  • 结语

什么是对象?

嘿!这还用问吗?对象不就是“你的女朋友” 嘛!,或许你以为我在胡说,但事实上确实就是。
看完下面这个定义,你就知道我说的对不对了…

现实生活中:万物皆对象,对象是一个具体的事物,看得见摸得着的实物。如,一本书、一辆汽车、一个人都可以是"对象”,一个数据库、一张网页、一个与远程服务器的连接也可以是“对象”。

在 JavaScript 中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组、函数等。

对象是由属性和方法组成的。

  • 属性:事物的特征,在对象中用属性来表示(常用名词)
  • 方法:事物的行为,在对象中用方法来表示(常用动词)

为什么需要对象?

为什么需要“对象”?是为了化解你的孤独与寂寞嘛,拜托老兄,不要那么肤浅好嘛!

找对象其他的不说,但她一定有一个作用:她能使你更加完整!

不信你看:

保存一个值时,可以使用变量,保存多个值(一组值)时,可以使用数组(对比python中的列表)。如果要保存一个人的完整信息呢?

例如,将“张三”的个人的信息保存在数组中的方式为:

var arr= [‘张三’,‘男’,168,154];

这样确实存储了数据,但你是不是感觉他还不太完整!你知道168,154分别是什么吗?这时候对象的作用就体现出来了。

js 中的对象用{ }表示(对比python中的字典),表达结构更清晰,更强大。

var obj = {
          name:'张三',
          sex:'男',
          height:168,
          weight:154,
          fun:function(){
              console.log("我是张三!");
          }
      }
  • 里面的属性或者方法我们采取键值对的形式键属性名:值属性值
  • 多个属性或者方法中间用逗号隔开的。
  • 方法冒号后面跟的是一个匿名函数。

创建对象的三种方式

利用对象字面量创建对象

**对象字面量:**就是花括号{},里面包含了表达这个具体事务(对象)的属性和方法。

	var obj_1 = {}; //创建了一个空的对象

利用 new 关键字创建对象

  var obj_2 = new Object(); //创建了一个空的对象

利用构造函数创建对象

为什么需要构造函数呢?

 var zhang = {
          name:'张三',
          sex:'男',
          height:168,
          weight:154,
          fun:function(){
              console.log("我是张三!");
          }
      }
      console.log(zhang);

      var li = {
          name:'李四',
          sex:'男',
          height:176,
          weight:154,
          fun:function(){
              console.log("我是李四!");
          }
      }
      console.log(li);

可以看到,我们用前面两种创建方法对象,如果需要多一点且属性和方法大都相同的对象时,这样一个一个创建就显得十分麻烦。

因此,我们可以利用函数的方法,重复这些相同的代码,我们把这个函数就叫做构造函数。

构造函数:是一种特殊的函数,主要用来初始化 对象,即为对象成员变量赋初始值,它总与 new 运算符一起使用。我们可以把对象中一些公共的属性和方法油取出来,然封装到这个函数里面。

通俗的说:构造函数就是把我们对象里面的一些相同的属性和方法抽象出来封装到函数里面。

//构造函数的语法格式
function 构造函数名(){<!--{C}%3C!%2D%2D%20%2D%2D%3E-->
      this.属性 = 值;
      this.方法 = function () { }
}
new 构造函数名 ();
function Star(name,age,sex){
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
    var hg = new Star('胡歌',35,'男');  //调用函数返回的是一个对象
    console.log(hg);
    var ldh = new Star('刘德华',50,'男');

这样创建对象就方便多了。

注:

  • 1.构造函数名字首字母要大写。
  • 2.我们构造函数不需要 return 就可以返回结果。
  • 3.我们调用构造函数必须使用new 。
  • 4.我们只要 new Star ()调用函数就创建一个对象。

new关键字的执行过程

new 在执行时会做四件事情:

  • 1.在内存中创建一个新的空对象。
  • 2.让 this 指向这个新的对象。
  • 3.执行构造函数里面的代码,给这个新对象添加属性和方法。
  • 4.返回这个新对象(所以构造函数里面不需要 return )。

对象属性的增删改查(和py的字典类似)

var obj_1 = {}  //创建了一个空的对象
      //添加属性及值
      obj_1.name = 'aniu';
      obj_1.sex = '男';
      console.log(obj_1);

用关键字delete

var zhang = {
          name:'张三',
          sex:'男',
          height:168,
          weight:154,
          fun:function(){
              console.log("我是张三!");
          }
      }
      delete zhang.weight;  // 删除对象的体重
      console.log(zhang);

直接对属性赋新值就可以

 var li = {
          name:'李四',
          sex:'男',
          height:176,
          weight:154,
          fun:function(){
              console.log("我是李四!");
          }
      }
      li.sex = '女'; // 修改对象的性别
      console.log(li);

属性:

console.log(li.name); //法一
console.log(li[‘sex’]); //法二

调用方法:

li.fun()

var li = {
          name:'李四',
          sex:'男',
          height:176,
          weight:154,
          fun:function(){
              console.log("我是李四!");
          }
      }
      console.log(li.name); //法一
      console.log(li['sex']); //法二
      li.fun();  //调用方法
    function Star(name,age,sex){
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.work = function(work){
            console.log(work);
        }
    }
    var hg = new Star('胡歌',35,'男');  //调用函数返回的是一个对象
    hg.work("仙剑"); //调用方法

总之,这些crud操作和python中的字典十分的相似,很容易上手。

遍历对象

var li = {
          name:'李四',
          sex:'男',
          height:176,
          weight:154,
      }
      console.log(li.name);
      console.log(li.sex);
      console.log(li.height);
      console.log(li.weight);

像这样输出对象的属性值很麻烦,因此可以用遍历。

for … in 语句用于对数组或者对象的属性进行循环操作

var li = {
          name:'李四',
          sex:'男',
          height:176,
          weight:154,
      }
      for (var k in li){
          console.log(k); //k 变量 输出得到的是属性名
          console.log(li[k]);  // obj[k] 输出得到的是属性值
      }

结语

对我而言,学过py, 5分钟就掌握了,你学废了吗?

以上就是javascript对象的应用示例拿捏的详细内容,更多关于javascript对象应用的资料请关注我们其它相关文章!

(0)

相关推荐

  • JavaScript删除对象的不必要的属性

    目录 示例 方式一:delete 删除 方式二:解构 总结 补充 总结 Thinking系列,旨在利用10分钟的时间传达一种可落地的编程思想. 业务开发中,我们经常会遇到:基于后端返回接口数据,前端保存到对象 Object 中,前端开发过程中为了一些场景的便利性,需要在该对象中增加相应的属性,但这些属性对于后端没有意义,保存提交时希望删除掉. 真实业务代码:保存前需要删除对应的 *Value 字段 async saveData (type, data) { // 提交时删除多余字段 delete

  • JavaScript 自定义对象方法汇总

    目录 一 使用object创建对象 二 使用构造函数创建对象 三 字面量创建对象 四 this 关键字 this 表示当前对象 五 基本数据类型和引用数据类型 基本数据类型 引用数据类型 六 闭包 如何理解闭包? 闭包的用途 闭包的使用 七 Json 基本用法 符合属性 Json对象的集合 JSON 操作 一 使用object创建对象 <script> // 创建对象 var stu = new Object() // 给对象添加属性 stu.name='jibu' stu[9527] = '

  • springboot post接口接受json时,转换为对象时,属性都为null的解决

    目录 背景 解决心路历程 背景 在接口请求过程中,传递json对象,springboot转换为实体VO对象后,所有属性都为null. post请求: 后台接收请求: 当时就懵逼了- 解决心路历程 查看springboot默认的HttpMessageConverter @Configuration @Component public class AppWebConfiguration implements WebMvcConfigurer { /** * 重写添加拦截器方法并添加配置拦截器 * *

  • 详解Javascript中的Object对象

    Object是在javascript中一个被我们经常使用的类型,而且JS中的所有对象都是继承自Object对象的.虽说我们平时只是简单地使用了Object对象来存储数据,并没有使用到太多其他功能,但是Object对象其实包含了很多很有用的属性和方法,尤其是ES5增加的方法,因此,本文将从最基本的介绍开始,详细说明了Object的常用方法和应用. 基础介绍 创建对象 首先我们都知道,对象就是一组相似数据和功能的集合,我们就是用它来模拟我们现实世界中的对象的.那在Javascript中,创建对象的方

  • 理解JavaScript中的对象

    JavaScript中对象的简介 我们知道生活中客观存在的一切事物皆为对象,那在程序中的对象是什么样子呢?我们可以将程序中的对象理解为客户端世界中的对象在一种计算机中的一种表示方式.所有的编程语言中提到的对象其性质都是类似的,它往往对应内存中的一块区域,在这个区域中存储对象的属性或方法信息. JavaScript中对象的创建 基于{}符号创建对象 在JS中我们可以直接基于{}定义对象,在对象内容定义属性和方法,例如: 在JS中我们可以将对象理解为用于封装属性和方法的一个结构体,例如 如果需要反复

  • JavaScript 对象详细整理总结

    Javascript 对象总结: JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删. JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等. JavaScript对象除了可以保持自有的属性外,还可以从一个称为原型的对象继承属性.对象的方法通常是继承的属性.这种"原型式集成"是JavaScript的的核心特征. 1.创建对象 第一种:对象直接量表示法创建对象. 这是最简单的对象创建方式,对象直接量由若干key:value键值对属性组成

  • 复杂JSON字符串转换为Java嵌套对象的实现

    目录 背景 方法 预备工作 构建对象模型 使用jackson 库解析 使用GSON解析 不含列表的嵌套对象 背景 实际开发中,常常需要将比较复杂的 JSON 字符串转换为对应的 Java 对象.这里记录下解决方案. 如下所示,是入侵事件检测得到的 JSON 串: [{"rule_id":"反弹shell","format_output":"进程 pname 反向连接到 %dest_ip%:%dest_port%","

  • JS判断对象属性是否存在的五种方案分享

    目录 背景 检查属性是否存在 in Reflect.has() hasOwnProperty 构造函数法 对象字面量 缺点 覆盖报错 Object.prototype.hasOwnProperty() ES13(ES2022)Object.hasOwn() 总结 背景 在这篇Accessible Object.prototype.hasOwnProperty()提案中,提出了一个更简单的方法来检查对象时候具有特定的属性- Object.hasOwn(),主要目标是用来替代Object.proto

  • JavaScript中5个常用的对象

    目录 1.JavaScript对象 1).Array对象 2).Boolean对象 3).Date对象 4).Math对象 5).Number对象 6).String对象 前言: 相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的. 1.JavaScript对象 在JavaScript中有许多有用的对象,它们可以用来

  • 拿捏javascript对象增删改查应用及示例

    目录 什么是对象? 为什么需要对象? 创建对象的三种方式 利用对象字面量创建对象 利用new关键字创建对象 利用构造函数创建对象 new关键字的执行过程 对象属性的增删改查(和py的字典类似) 增 删 改 查 遍历对象 结语 什么是对象? 嘿!这还用问吗?对象不就是“你的女朋友” 嘛!,或许你以为我在胡说,但事实上确实就是.看完下面这个定义,你就知道我说的对不对了… 现实生活中:万物皆对象,对象是一个具体的事物,看得见摸得着的实物.如,一本书.一辆汽车.一个人都可以是"对象”,一个数据库.一张网

  • Spring boot+mybatis+thymeleaf 实现登录注册增删改查功能的示例代码

    本文重在实现理解,过滤器,业务,逻辑需求,样式请无视.. 项目结构如下 1.idea新建Spring boot项目,在pom中加上thymeleaf和mybatis支持.pom.xml代码如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3

  • Mybatis实现动态增删改查功能的示例代码

    一.Mybatis 流程简介 最近在看 Mybatis 的源码,大致了解整个框架流程后便手写了一个特别简单的SimpMybatis的小Demo,来巩固这整个框架的学习.下图是我所画的框架大致执行流程:

  • C#对Access进行增删改查的完整示例

    这篇文章整理了C#对Access数据库的查询.添加记录.删除记录和更新数据等一系列的操作示例,有需要的可以参考学习. 首先是AccessHelper.cs,网上有下载,下面附送一份: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.OleDb; using System.Data

  • javascript Xml增删改查(IE下)操作实现代码

    html文件: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>j

  • koa+mongoose实现简单增删改查接口的示例代码

    配合上一篇文章的联系人应用(https://www.jb51.net/article/161160.htm),实现配套的基于nodejs的后台增删改查接口 1. 所需工具 node.js mongoDB 2. 主要node模块 koa(https://koa.bootcss.com,一个nodejs的开发框架),mongoose(https://mongoosejs.com,mongDB操作工具) 3. 目录结构 4. 启动MongoDB 首先在MongoDB安装盘的根目录下(这里假设是D盘)新

  • PHP实现对xml进行简单的增删改查(CRUD)操作示例

    本文实例讲述了PHP实现对xml进行简单的增删改查(CRUD)操作.分享给大家供大家参考,具体如下: 假如有下面xml文件: <?xml version="1.0" encoding="UTF-8"?> <setting> <preferTime>55.8</preferTime> <playerValue>56</playerValue> <reduceValue>40</r

  • Android编程连接MongoDB及增删改查等基本操作示例

    本文实例讲述了Android编程连接MongoDB及增删改查等基本操作.分享给大家供大家参考,具体如下: MongoDB简介 Mongodb,分布式文档存储数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mongo使用C++开发. Mongo安装参考 1)下载安装包文件,解压到某一文件夹下. 官方下载地址:htt

  • Laravel框架实现model层的增删改查(CURD)操作示例

    本文实例讲述了Laravel框架实现model层的增删改查(CURD)操作.分享给大家供大家参考,具体如下: protected $table = 'user_city'; public $timestamps = false; //添加 返回id public function cityadd($data) { return $this->insertGetId($data); } //单条查找 public function getfind($id) { if($this->where('

  • Java 对 Cookie增删改查的实现示例

    Cookie属性 name:cookie的名称 value:cookie的值 maxAge:cookie的失效时间,默认为-1 值 说明 负数 浏览器关闭后立即失效 0 马上清除cookie 正数 设置过期时间,单位秒 s path Cookie的有效路径,/ 表示这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径和其子路径可以访问. 获取所有Cookie public static Cookie[] GetCookies(HttpServletReque

随机推荐