Javascript笔记 - JS中的对象

news/2024/3/28 17:07:46/文章来源:https://www.cnblogs.com/Solitary-Rhyme/p/16849279.html

对象

目录
  • 对象
    • 1. 对象的声明与定义
    • 2. 原型对象
    • 3. 枚举对象中属性
      • 特殊属性值
      • in 运算符
      • hasOwnProperty方法
      • for...in 语句

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]);
    }
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_410482.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[2022 祥云杯] Reverse部分赛题复现

女娲补天:指星期天打了一天的V3,再不学re👶要被开了(确信 rocket 官方给了个Hint: rocket题目环境建议使用Ubuntu22.04,racket版本8.2 先配环境,直接按照hint去github上找.sh脚本安装的话运行程序会一直报permission denied的错而且解决不了(如果有大爹解决了请务必告…

MySQL查询数据(多表查询)

1.内连接 语法:select 字段列表 from 表1 [as 别名1],表2 [as 别名2]....where 表1.字段 = 表2.字段 AND 其它查询条件 (1)查询student表和courses表的内容。SELECT * from student,courses; 此处的结果是student表的8行记录*courses表的4行记录,总共有32行记录(笛卡尔积…

【mysql】云服务器被攻击,数据库以及数据都被删除如何通过binlog日志恢复

前言: 小编买了一台阿里云服务器,然后通过docker 部署了mysql, 然后用了一段时间突然发现数据都没有了,然后就排查问题,发现是被攻击了,如下图 you must pay 0.26BTC,怒了,好多钱呢…

开放式运动耳机排行榜哪个好用,排行靠前的五款运动耳机分享

犹豫特殊原因没有了马拉松比赛,对此之前一起训练的小伙伴们自身的积极性也是日渐低迷,相应的现在训练都是我自己一个人,犹豫是一个人的训练,不管是在训练中还是在训练后都会感觉到枯燥孤单,为了解决这个困扰&#xff0…

金融期货和期权等品种权限

一、我国原油期货正式上市交易,由于该品种的特殊性,以及允许境外投资参与交易。 上市之后就规定监管机构就规定了该品种权限的开通方法如下,同时满足如下四个条件即可: 1、三年内有境内交易记录(即得先有商品期货账户…

国考省考申论:2次阅读法:1读感知材料类型和段落关系,2读根据问题词,原因词,影响词,对策词,关联词把握得分要点

国考省考申论:2次阅读法:1读感知材料类型和段落关系,2读根据问题词,原因词,影响词,对策词,关联词把握得分要点 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能&#x…

学习笔记:Nim 游戏

学习笔记:Nim 游戏 0 一些定义与概念 公平组合游戏(Impartial combinatorial game, ICG) 公平组合游戏满足:由两名玩家交替移动; 在游戏进程的任意时刻,可以执行的合法行动与轮到哪名玩家无关; 不能行动的玩家判负。Nim 游戏属于公平组合游戏。但常见的棋类大部分都不是…

【2022-11-01】前端Vue框架(六)

一、Vuex的使用 Vuex基本使用 # 在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。# 使用步骤:1 在state中定义变量2 在组件中通过this.$store.dispatch(action…

虚拟存储器-11.1

虚拟存储器-11.1 1.虚拟存储器概述 1.1局部性原理 1.程序的局部性原理:程序在运行的时候局限在某个局部的地方。 2.虚拟存储器的工作基本情况 运行时在内存运行时不在内存需要时调入内存不需要调出内存 2.虚拟存储器实现的方法 2.1请求分页技术 2.1.1思想 分…

python标记删除如何实现?

python标记删除如何实现? 说明 1、主要解决循环引用的数据。因为引用大于0,不会回收。 2、标记删除是为了解决这个循环引用不能删除的问题。 3、对于删除操作后的每一个引用-1,此时num,num1的引用为0,将其放入死亡容器中&#…

VSCode下载安装与使用教程

目录1. 打开官网进行下载安装2. 下载3. 安装4. 使用4.1 extensions4.2 Python编译器4. 运行python代码的 3 种方法参考资料VSCode是一款免费开源的现代化轻量级代码编辑器,下面就简单的带大家一起来下载和安装VSCode。 1. 打开官网进行下载安装 官方下载链接&…

设计模式系列之MVC模式

这里写自定义目录标题1、设计模式概要最基本的设计模式使用设计模式的好处2、MVC模式MVC实例:模型 models.py视图views.py控制器 Controller.py3、优缺点总结1、设计模式概要 定义: 设计模式是由众多的软件开发人员经过长期的积累,不断试错改…

uniapp老项目添加自动化部署并配置多环境

我司其他项目都是通过jenkins打包部署的,只有uniapp项目要前端通过hbuilderx手动打包上传到git,为了方便操作,改造老项目! 创建一个新的uniapp项目 参考:https://uniapp.dcloud.net.cn/quickstart-cli.html 安装vue…

顺应国家趋势,争做爱国程序员

当今社会,为了不再使我国面临“缺芯”的情况下,先进计算技术逐渐成为我国的发展趋势。 那,何为先进计算? 百度百科的定义为:先进计算包括超级计算、大数据、人工智能、云计算等多种新兴IT信息技术,先进计…

仿iPhone开关按钮switch

前端开发checkbox 单选按钮做开关https://github.com/weatherstar/switchgithub下载 渲染事件方法 defaults { size : ‘default’ , checked : undefined , onText : ‘Y’ , offText : ‘N’ , onSwitchColor : ‘#64BD63’ , offSwitchColor : ‘#fff’ , onJackColor : ‘…

html实现飞机小游戏(源码)

文章目录1.思路讲解1.1 游戏设计1.2 主界面1.3 倒计时进入游戏1.4 游戏效果1.3 游戏结束2.实现源码2.1 游戏动态效果2.2 游戏主代码2.3 源码目录源码下载作者:xcLeigh 文章说明 html实现飞机大战源码,酷炫的界面效果,有四款飞机大战背景&…

2022高频经典前端面试题(es6+webpack+http网络+性能优化中篇,含答案)

ES6篇 1. ES6的新特性?(必考) 参考阮一峰的es6文档:https://es6.ruanyifeng.com/ let、const变量的解构赋值模板字符串(可以直接进行变量拼接)箭头函数… 展开运算符可以将数组或对象里面的值展开;还可以…

面试被问到如何排查JVM问题的,如何回答?

一、首先说可用工具 1、jmap可以查看当前Java进程的内存占用,把内存快照dump出来 用法:jmap [option] <pid> 常用命令jmap -heap pid 主要显示堆的内存使用情况,包括分代情况,每个代的总容量、已使用内存、可使用内存,如图: jmap -dump:live,format=b,file=xxx…

发第一篇SCI有哪些技巧?

正所谓万事开头难&#xff0c;每当第一次做某一件事情总是难以开展的。因为那时我们没有一定的方法和技巧去完成这些事。比如 SCI论文是无数科研人员认可的学术文献&#xff0c;但是想要在SCI期刊上发表论文是十分困难的&#xff0c;因为在论文创作上尚且不成熟&#xff0c;没有…

大学毕业1年,从监工转行软件测试,我拿到了人生第一份8k的offer

大家好&#xff0c;我是小静&#xff0c;是一名IT转行人&#xff0c;2015年毕业于某所XXXX大专&#xff0c;大学学的专业是土木工程&#xff0c;毕业也是不出意外的来到了工地&#xff0c;从事的是一份监工的工作&#xff0c;就是工地上带白帽子的&#xff0c;每个月拿着4000块…