JavaScript——JavaScript对象:对象的创建方式、in关键字、遍历对象的属性和方法、内置对象

目录

JavaScript对象

对象的创建方式

利用字面量创建对象

利用new Object创建对象 

利用构造函数创建对象

in关键字

遍历对象的属性和方法 

内置对象


JavaScript对象

对象的创建方式

利用字面量创建对象

/*
面向对象的编程思想:写类创建对象并调用对象的方法来执行业务逻辑。
*/
//创建了一个空对象
var student = {};//对象中包含:属性、方法
//给对象添加属性
student.name = "jack";
student.age = 18;//给对象添加方法
student.study = function () {console.log(this.name + "正在学习Javascript。");
};//访问对象的属性
console.log(student.name);              //"jack"//调用对象的方法
student.study();                        // "jack正在学习JavaScript。"

利用new Object创建对象 

//Object对象:是所有类的原型对象。
//类似创建了一个空的对象
var obj = new Object();//添加属性
obj.name = "张三";
obj.age = 20;//添加方法
obj.sayHi = function () {console.log(this.name + ",你好!");
}//访问属性
console.log(obj.name);              //张三
obj.sayHi();                        //张三,你好!

利用构造函数创建对象

/*构造函数:用于创建对象并初始化属性的函数或方法。特点:1.构造函数的名称的首字母大写。2.构造函数需要使用new关键字调用。*///定义一个构造函数
function Animal(name, age, color) {//属性this.name = name;this.age = age;this.color = color;//方法this.cry = function () {console.log(this.name + "正在叫...");}
}//创建对象
var animal = new Animal("哈士奇", 4, "黑白色");
//访问属性
console.log(animal.name);                          //哈士奇
//调用方法
animal.cry();                                      //哈士奇正在叫...

  • 私有属性用#修饰
  • 使用constructor构造函数
<script>class Student {//公有属性language = "Javascript";//私有属性#country = "China";//ES13(2022)static count = 0;//静态代码块static {Student.count = 10;//类加载的时候自动执行(类的初始化)console.log("Static block eecuted!");}//构造函数//1.默认有一个无参数的构造函数,开发者如果自己定义了构造函数,无参数的构造消失。//2.JS中的构造函数默认只能有一个。 SyntaxError: A class may only have one constructor/*constructor(){}*/constructor(name, age) {//添加属性this.name = name;this.age = age;//类属性Student.count++;console.log("Student created!");}//方法study() {console.log(this.name + "正在学习 " + this.language + " " + this.#country);}}//创建对象const stu01 = new Student("张三", 20);//访问属性console.log(stu01.name, stu01.age);                  //张三 20//调用方法stu01.study();                                      //张三正在学习 Javascript//打印对象console.log(stu01);                                 //Student { name:"张三", age: 20, language:"Javascript" }console.log(stu01.language);                        //Javascript//访问私有属性// console.log(stu01.#country);//创建对象const stu02 = new Student("李四");//静态属性console.log(Student.count);                         //12
</script>

in关键字

当需要判断一个对象中的某个成员是否存在时,可以使用____运算符。

答案为:in


//in关键字主要用于判断指定的成员是否在指定的对象中
console.log("name" in obj);                 // true
console.log("salary" in obj);               // false
console.log("sayHello" in obj);             // true
console.log("sayHi" in obj);                // false

遍历对象的属性和方法 

/*
for(;;)         传统的for循环,主要用于循环遍历
for(of)         用于遍历可迭代对象,如数组
for(in)         用于遍历对象的成员(属性和方法)
*/
var obj = {name: "小明",age: 20,city: "北京",sayHello: function () {console.log("Hello," + this.name + "!");}
};
/*
key是对象的所有成员的名字
obj[key]是对象的指定成员的值
*/
for (let key in obj) {console.log(key + " = " + obj[key]);
}

内置对象

Math中的_____方法用来获取随机数,每次调用该方法返回的结果都不同。

答案为:random()

_____是日期对象的构造函数。

答案为:Date()

可以通过Date对象中的_____方法来获取月份,范围是0~11。

答案为:getMonth()

下列选项中,获取从1970-01-01 00::00:00距离Date对象所代表时间的毫秒数的是() 

A.getTime()        B.setTime()        C.getFullTear()        D.getMonth()

答案为:A.getTime()

下面选项中,删除数组的最后一个元素的方法是()

A.pop()        B.unshift()        C.shift()        D.push()

答案为:A.pop() 

下列选项中,可以实现颠倒数组中元素的位置的是()

A.reverse()        B.sort()        C.indexOf()        D.lastIndexOf()

答案为:A.reverse() 


  • 数组类型检测有两种常用方式,分别是使用instanceof运算符和使用Array.isArray()方法
  • 利用构造函数(类)创建对象的过程,称为实例化。
  • Math类(数学相关)是Js提供的一个内置类,该类提供了一些静态成员,可以直接使用类名访问。
  • 使用Math.floor(Math.random() * (max + 1) + 1)表示1到任意数之间的随机整数

END


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

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

相关文章

【Hive】new HiveConf()时加载的配置浅析

简单看下源码&#xff1a; org.apache.hadoop.hive.conf.HiveConf HiveConf中有静态代码块&#xff0c;内容就是调用findConfigFile方法&#xff0c;尝试读取hive-default.xml&#xff0c;hive-site.xml&#xff0c;hivemetastore-site.xml&#xff0c;hiveserver2-site.xml。…

【Python机器学习实战】 | Lasso回归和弹性网回归详细分析研究

&#x1f3a9; 欢迎来到技术探索的奇幻世界&#x1f468;‍&#x1f4bb; &#x1f4dc; 个人主页&#xff1a;一伦明悦-CSDN博客 ✍&#x1f3fb; 作者简介&#xff1a; C软件开发、Python机器学习爱好者 &#x1f5e3;️ 互动与支持&#xff1a;&#x1f4ac;评论 &…

react使用OpenLayers实现类似船某网在地图放大时展示具体船舶符号缩小时显示聚合小点效果

一、效果 如图所示&#xff0c;地图缩小&#xff08;即比例尺放大&#xff09;时&#xff0c;显示聚合小绿点&#xff1b; 地图放大&#xff08;比例尺缩小&#xff09;时&#xff0c;展示具体船舶符号&#xff1a; 二、思路 1&#xff09;设置2个图层&#xff0c;一个展示…

计网重点面试题-TCP三次握手四次挥手

三次握手 第一次握手(syn1) 客户端会随机初始化序号&#xff08;client_isn&#xff09;&#xff0c;将此序号置于 TCP 首部的「序列号」字段中&#xff0c;同时把 SYN 标志位置为 1&#xff0c;表示 SYN 报文。接着把第一个 SYN 报文发送给服务端&#xff0c;表示向服务端发…

Microsoft Edge 查看已保存账号的密码

1、打开更多菜单选项 打开浏览器右上角的“...”设置及其他&#xff0c;快捷键&#xff1a;ALTF。 2、打开设置选项 选择“设置”&#xff0c;快捷键&#xff1a;g 3、点击密码 在“个人资料”选项中找到密码选项 4、电子钱包 电子钱包会显示“站点和应用”所保存的账户信息…

SpringCloud和K8s的区别

服务发现与注册&#xff1a; Spring Cloud中的Eureka组件提供了服务注册与发现的功能&#xff0c;允许微服务相互查找并通信。Kubernetes中的kube-apiserver作为控制平面的一部分&#xff0c;提供了服务发现的能力&#xff0c;允许系统内部组件和外部客户端通过API发现和访问集…

科技云报道:推进工业新质生产力机器人有望成为AI下一个新引擎?

科技云报道原创。 推进工业新质生产力&#xff0c;机器人有望成为AI下一个“新引擎”&#xff1f; “人工智能的下一波浪潮是机器人技术&#xff0c;这是一个‘0亿美元市场’&#xff0c;但未来将价值数十亿美元&#xff0c;就像Nvidia刚起步时的GPU加速计算一样……”这是英…

JAVAEE之网络原理(2)_传输控制协议(TCP)的连接管理机制,三次握手、四次挥手,及常见面试题

前言 在上一节中&#xff0c;我们简单介绍了 TCP 协议的相关概念和格式&#xff0c;而且还介绍了TCP 协议原理中的 确认应答机制、超时重传机制&#xff0c;在本节中我们将会继续介绍 TCP协议原理中的其他机制。 连接管理机制&#xff08;安全机制&#xff09; 在正常情况下&…

lvgl的应用:移植MusicPlayer(基于STM32F407)

目录 概述 1 软硬件环境 1.1 UI开发版本 1.2 MCU开发环境 1.3 注意点 2 GUI Guider开发UI 2.1 使用GUI Guider创建UI 2.2 GUI Guider编译项目和测试 2.2.1 GUI Guider编译项目 2.2.2 编译 2.3 了解GUI Guider生成代码 3 移植项目 3.1 Keil中加载代码 3.2 调用G…

漏洞挖掘 | 记一次src挖掘-小程序敏感信息泄露

权当是一次漏洞挖掘的思路分享 闲言 就现在的一个web漏洞挖掘强度还是非常高的&#xff0c;所以我们不妨把我们的眼光投向一个之前可能未曾涉及到的区域———小程序 是的微信小程序&#xff0c;这玩意的防范能力和过滤能力其实对比web方向是要弱小很多的 进入正题 以下就是…

Javase.抽象类和接口

抽象类和接口 【本节目标】1.抽象类1.1抽象类的概念1.2 抽象类语法1.3 抽象类特性1.4 抽象类的作用 2. 接口2.1 接口的概念2.2 语法规则2.3 接口使用2.4 接口特性2.5 实现多个接口2.6 接口间的继承2.7 接口使用实例2.8Clonable 接口和深拷贝2.9 抽象类和接口的区别 3. Object类…

开源一套Trados Sdlxliff 对比工具

开源一套Trados Sdlxliff 对比工具 在Trados翻译过程中经常对需要进行版本控制和对比&#xff0c;例如对比不同设置下生成的sdlxliff文件&#xff0c;对比不同的机器翻译结果以及对比机器翻译和人工翻译&#xff0c;对比翻译和审校等等。 当然SDL官方也提供了对比工具 https:…

[手机Linux PostmarketOS]二,cpolar实现内外网穿透

要想你的手机linux服务器能够通过外网可以访问到&#xff0c;必须需要借助工具把内网和外网打通&#xff0c;这样才能不管你在哪里都可以访问你的linux服务器&#xff0c;否则你只能在家连接同一的wifi网络才能连接&#xff0c;其实内网穿透工具大同小异&#xff0c;对比的是哪…

GT_BERT文本分类

目录 GT-BERT结束语代码实现整个项目源码&#xff08;数据集模型&#xff09; GT-BERT 在为了使 BERT 模型能够得到广泛的应用,在保证模型分类准确率不降低的情况下,减少模型参数规模并降低时间复杂度,提出一种基于半监督生成对抗网络与 BERT 的文本分类模型 GT-BERT。模型的整…

AI学习指南机器学习篇-朴素贝叶斯算法(Naive Bayes)简介

AI学习指南机器学习篇-朴素贝叶斯算法&#xff08;Naive Bayes&#xff09;简介 人工智能&#xff08;AI&#xff09;的发展正日益改变着我们的生活&#xff0c;而机器学习作为AI的重要分支更是受到了广泛关注。在机器学习领域中&#xff0c;朴素贝叶斯算法&#xff08;Naive B…

【ajax基础04】form-serialize插件

目录 一&#xff1a;form-serialize插件 作用&#xff1a; 语法格式&#xff1a; 一&#xff1a;form-serialize插件 作用&#xff1a; 快速且大量的收集表单元素的值 例如上图对于多表单元素的情形&#xff0c;单靠通过”选择器获取节点.value”值的形式&#xff0c;获取…

使用 GCD 实现属性的多读单写

使用 Grand Central Dispatch (GCD) 实现多读单写的属性 首先需要确保在多线程环境下的线程安全性。可以使用 GCD 提供的读写锁机制 dispatch_rwlock_t 或者 dispatch_queue_t 来实现这个功能。 Swift版本的实现 怎样创建一个并发队列 &#xff1f;// 使用 Swift 来实现的首…

Mongodb在UPDATE中使用二进制运算更新字段

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第75篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…

.net 奇葩问题调试经历之1——在红外相机获取温度时异常

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔序言 我们在研发中,经常除了造产品…

Linux中ls -lsa 和ls -lst区别

在Linux中&#xff0c;ls 命令用于列出目录内容。当与不同的选项组合时&#xff0c;它可以以不同的方式显示文件和目录的详细信息。 对于 ls -lsa 和 ls -lst&#xff0c;它们的主要区别在于显示的列和排序方式&#xff1a; ls -lsa: -l: 使用长格式显示文件和目录的详细信息。…