js对象是什么?js对象的介绍(附代码)
本篇文章给大家带来的内容是关于js对象是什么?js对象的介绍(附代码) ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
对象是什么
在JavaScript中,一个对象就像一个单独拥有属性和类型的实体。一个杯子作为一个对象,杯子有颜色、重量等属性。同样,JavaScript对象也有属性定义它的特征。
方法是关联到某个对象的函数,或者说,一个方法是一个值为某个函数的对象属性。
对象可以分为以下几类
内置对象/原生对象
就是JavaScript语言预定义的对象
宿主对象
是JavaScript运行环境提供的对象
自定义对象
就是开发人员自主创建的对象
Object对象
Object类型是引用类型。但Object类型是所有JavaScript中所有类型的父级(所有类型的对象都可以是Object的属性和方法)
创建对象
/* * 1. 对象的初始化器创建方式 * var 对象名={ * 属性名 : 属性值 * 方法名 : function{ * 方法体 * } * } */ var obj = { name : '九筒', age : 2, sayYou : function () { console.log('火锅') } }; /* 2. 对象的构造函数方式 * * 利用所有的引用类型创建对应的对象->具有具体的类型 * var num = new Number;//number类型 * var str = new String;//string类型 * var boo = new Boolean;//boolean类型 * * 利用Object作为构造函数创建对象 * var 对象名 = new Object(); * var 对象名 = Object(); */ var num = new Number(); var str = new Storage(); var boo = new Boolean(); var obj2 = new Object(); var obj3 = Object(); /* 利用Object.create创建对象 * var 对象名 = Object.create(null) -> 创建一个空对象 var 对象名 = Object.create(obj) * obj - 表示另一个对象 * 特点 - 当前创建的新对象拥有与obj对象相同的属性和方法*/ var obj4 = Object.create(null); var obj5 = Object.create(obj);
对象的属性
定义对象的属性
对象的属性就像是附加到对象上的变量
/*对象介意定义多个属性 * 属性之间使用逗号分开*/ var obj = { name : '吴凡', age : 23, book : function () { console.log('暗毁') } };
调用对象的属性
/* 调用对象的属性 * 对象名.属性名 * 不适用于复杂命名的属性名称*/ console.log(obj.name); /* 对象名[属性名]-通用方式 适用于复杂命名的属性名称 * */ console.log(obj['name']);//属性名是字符串形式
新增、删除、修改对象的属性
var obj = { name : '火锅', variety : '比熊', age : function () { console.log('3') } } /* 新增对象的属性 * 1对象名.新的属性名 = 属性值 * 2对象名[新的属性名] = 属性值*/ obj.col='白色'; console.log(obj.col);//白色 /*删除对象的属性 * delete 对象名.属性名 * delete 对象名[属性名]*/ delete obj.col console.log(obj.col);//undefined /*修改对象的属性 * 对象名.已存在的属性名 = 属性值 * 对象名[已存在的属性名] = 属性值*/ obj.name = '九筒'; console.log(obj.name);//九筒
检测对象的属性
var obj = { name : '火锅', variety : '比熊', age : function () { console.log('3') } }; console.log(obj.name) /* 1. 判断对象的属性值是否为undefined*/ if (obj.name !==undefined){ console.log('obj对象name属性存在') }else{ console.log('obj对象name属性不存在') } /* 2. 判断对象的属性值,先转换为boolean类型*/ if (obj.name){ console.log('obj对象name属性存在') } /* 3. 利用in关键字进行判断*/ if ('name' in obj){ console.log('obj对象name属性存在') }else{ console.log('obj对象name属性不存在') } /* 4. Object类型提供了hasOwnProperty()方法*/ if (obj.hasOwnProperty('name')){ console.log('obj对象name属性存在') }else{ console.log('obj对象name属性不存在') }
便利属性
var obj = { name : '小薄荷', age : '0.3', variety : function () { console.log('萨摩耶') } }; // 1.for...in语句 for (var objAttr in obj) { // 通过对象属性或方法对应的值的类型进行区别 if (obj[objAttr] instanceof Function) { // 当前是对象的方法 obj[objAttr](); } else { // 当前是对象的属性 console.log(obj[objAttr]); } } // 2.Object类型提供了keys()方法 - 只能遍历可枚举的属性 var arr = Object.keys(obj); for (var v in arr) { var objAttr = arr[v]; // 通过对象属性或方法对应的值的类型进行区别 if (obj[objAttr] instanceof Function) { // 当前是对象的方法 obj[objAttr](); } else { // 当前是对象的属性 console.log(obj[objAttr]); } } // 3.Object类型提供了getOwnPropertyNames()方法 - 包括不可枚举的属性 var arr = Object.getOwnPropertyNames(obj); for (var v in arr) { var objAttr = arr[v]; // 通过对象属性或方法对应的值的类型进行区别 if (obj[objAttr] instanceof Function) { // 当前是对象的方法 obj[objAttr](); } else { // 当前是对象的属性 console.log(obj[objAttr]); } }
对象的方法
调用、新增、修改、删除对象的方法
调用、新增、修改、删除对象的方法和属性基本一样
var obj = { name : '火锅', variety : '比熊', age : function () { console.log('3') } } /*调用对象的方法*/ // 1.对象名.方法名() obj.sayMe(); // 2.对象名[方法名]() obj['sayMe'](); /*新增对象的方法*/ // 1.对象名.新的方法名 = function(){} obj.name = function(){ console.log('九筒'); } console.log(obj); // 2.对象名[新的方法名] = function(){} /*修改对象的方法*/ // 1.对象名.方法名 = function(){} obj.name = function(){ console.log('九筒'); } // 2.对象名[方法名] = function(){} /*删除对象的方法*/ //1.delete 对象名.方法名 delete obj.sayMe; // 访问对象中不存在的方法 -> 报错(TypeError: obj.sayMe is not a function) // obj.sayMe(); // 2.delete 对象名[方法名]
相关推荐:
nodejs中http代理库http-proxy中常见的问题分析
以上是js对象是什么?js对象的介绍(附代码)的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

如何使用WebSocket和JavaScript实现在线语音识别系统引言:随着科技的不断发展,语音识别技术已经成为了人工智能领域的重要组成部分。而基于WebSocket和JavaScript实现的在线语音识别系统,具备了低延迟、实时性和跨平台的特点,成为了一种被广泛应用的解决方案。本文将介绍如何使用WebSocket和JavaScript来实现在线语音识别系

WebSocket与JavaScript:实现实时监控系统的关键技术引言:随着互联网技术的快速发展,实时监控系统在各个领域中得到了广泛的应用。而实现实时监控的关键技术之一就是WebSocket与JavaScript的结合使用。本文将介绍WebSocket与JavaScript在实时监控系统中的应用,并给出代码示例,详细解释其实现原理。一、WebSocket技

如何使用WebSocket和JavaScript实现在线预约系统在当今数字化的时代,越来越多的业务和服务都需要提供在线预约功能。而实现一个高效、实时的在线预约系统是至关重要的。本文将介绍如何使用WebSocket和JavaScript来实现一个在线预约系统,并提供具体的代码示例。一、什么是WebSocketWebSocket是一种在单个TCP连接上进行全双工

如何利用JavaScript和WebSocket实现实时在线点餐系统介绍:随着互联网的普及和技术的进步,越来越多的餐厅开始提供在线点餐服务。为了实现实时在线点餐系统,我们可以利用JavaScript和WebSocket技术。WebSocket是一种基于TCP协议的全双工通信协议,可以实现客户端与服务器的实时双向通信。在实时在线点餐系统中,当用户选择菜品并下单

JavaScript和WebSocket:打造高效的实时天气预报系统引言:如今,天气预报的准确性对于日常生活以及决策制定具有重要意义。随着技术的发展,我们可以通过实时获取天气数据来提供更准确可靠的天气预报。在本文中,我们将学习如何使用JavaScript和WebSocket技术,来构建一个高效的实时天气预报系统。本文将通过具体的代码示例来展示实现的过程。We

JavaScript教程:如何获取HTTP状态码,需要具体代码示例前言:在Web开发中,经常会涉及到与服务器进行数据交互的场景。在与服务器进行通信时,我们经常需要获取返回的HTTP状态码来判断操作是否成功,根据不同的状态码来进行相应的处理。本篇文章将教你如何使用JavaScript获取HTTP状态码,并提供一些实用的代码示例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用于在DOM树中插入一个新的节点。这个方法需要两个参数:要插入的新节点和参考节点(即新节点将要被插入的位置的节点)。

JavaScript中的HTTP状态码获取方法简介:在进行前端开发中,我们常常需要处理与后端接口的交互,而HTTP状态码就是其中非常重要的一部分。了解和获取HTTP状态码有助于我们更好地处理接口返回的数据。本文将介绍使用JavaScript获取HTTP状态码的方法,并提供具体代码示例。一、什么是HTTP状态码HTTP状态码是指当浏览器向服务器发起请求时,服务
