JavaScript对象(详细)

目录
  • JavaScript对象
    • 1.定义
    • 2.对象的分类
    • 3.定义对象
    • 4.访问对象中的属性
    • 5.给对象添加属性
    • 6.删除对象属性
    • 7.Object根构造函数
    • 8.对象属性的检测
    • 9.引用传递和值传递
    • 10.对象的序列化(把对象变为字符串)
    • 11.增强for循环(for in)

JavaScript对象

1.定义

对象是引用数据类型,是保存复杂数据类型的容器,它是多个属性(数据)和方法(功能)的集合

它允许动态的添加和删除属性

2.对象的分类

(1)内建对象

由ES标准中定义的对象,在任何的ES的实现中都可以使用

比如:math string number boolean object...

(2)宿主对象

由js的运行环境提供的对象,目前来讲主要由浏览器提供的对象

比如BOM DOM

(3)自定义对象

由开发人员自己创建的对象

3.定义对象

对象字面量

使用对象字面量,可以在创建对象时,直接指定对象中的属性

语法:{属性名:属性值,属性名:属性值...}

对象字面量的属性名可以加引号,也可以不加,建议不加

如果要使用一些特殊的名字,则必须加引号

以'{ }'作为边界,属性与属性之间用','分开,属性和属性值之间使用':'隔开

var obj={};

构造函数创建对象

使用new关键字调用的函数,是构造函数constructor

构造函数是专门用来创建对象的函数

使用typeof检查一个对象时,会返回object

var obj = new Object();
console.log(typeof obj);

4.访问对象中的属性

点访问符 .

o.name      =>  'terry'
o.age       =>   12

[]访问符

o['name']   =>  'terry'
o['age']    =>  12

如果读取对象中没有的属性,不会报错而是返回undefined

5.给对象添加属性

对象.属性=属性值;

o.gender='女';

6.删除对象属性

delete 对象.属性;

delete o.gender;

7.Object根构造函数

所有的对象都直接或者间接继承Object,都能调用Object原型里面的方法

var o=new Object();
var arr=new Array();

8.对象属性的检测

in 运算符

通过该运算符可以检查一个对象中是否含有指定的属性

如果有,返回true,没有则返回false

语法:

"属性名" in 对象

'name' in Obj;

9.引用传递和值传递

基本数据类型使用值传递:基本数据类型将值直接保存到内存的栈区中

js中的变量都是保存在栈内存中的

         基本数据类型的值是直接在栈内存中存储

         值与值之间是独立存在的,修改一个变量不会影响其他的变量
var a=123;
var b=a;
a++;
console.log('a='+a);    //124
console.log('b='+b);    //123

引用数据类型使用引用传递:引用数据类型的引用地址保存在栈区中,实际的值保存在堆区中,该引用地址指向堆区中的空间

对象是保存到堆内存中的,每创建一个新的对象,就会在堆内存中开辟出一个新的空间

而变量保存的是对象的内存地址(对象的引用),如果两个变量保存的是同一个对象引用

当一个变量修改属性时,另一个也会受到影响

var obj=new Object();
obj.name='terry';
var obj2=obj;

//修改obj的name属性
obj.name='tom';

console.log(obj.name);    //tom
console.log(obj2.name);    //tom

当比较两个基本数据类型的值时,就是比较值

而比较两个引用数据类型时,它是比较对象的内存地址

如果两个对象是一模一样的,但是地址不同,它也会返回false

var c=10;
var d=10;
console.log(c==d);        //true

var obj3=new Object;
var obj4=new Object;
obj3.name='tom';
obj4.name='tom';
console.log(obj3==obj4);        //false

10.对象的序列化(把对象变为字符串)

1)常规转换

obj.tostring()

  2)转化为json字符串

JSON.stringify(obj)

  3)查询字符串

var qs= require('querystring');   //引入node.js模块

qs.stringify(obj)                  =>name=tom&age=12

11.增强for循环(for in)

遍历对象

语法:
        for(var 变量 in 对象){         }
for...in语句  对象中有几个属性,循环体就会执行几次

每次执行时,会将对象中的一个属性名赋值给变量

var obj={
    name:'孙悟空',
    age:18,
    gender:'男',
    address:'花果山'
}

for(var n in obj){
    console.log('属性名:'+n);
    console.log('属性值:'+obj[n]);
    }

到此这篇关于Java中的Script对象(详细)的文章就介绍到这了,更多相关JavaScript对象内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JavaScript函数之call、apply以及bind方法案例详解

    总结 1.相同点 都能够改变目标函数执行时内部 this 的指向 方法的第一个参数用于指定函数执行时内部的 this 值 支持向目标函数传递任意个参数 若不向方法的第一个参数传值或者传递 undefined.null,则在 JavaScript 正常模式下,目标函数内部的 this 指向 window 对象,严格模式下,分别指向 undefined.null. 2.区别 apply() 方法可接收两个参数,而 call() 和 bind() 方法则可接收多个参数. apply() 方法向目标函数

  • JavaScript CollectGarbage函数案例详解

    首先看一个内存释放的实例: <SCRIPT LANGUAGE="JavaScript"> <!-- strTest = "1"; for ( var i = 0; i < 25; i ++ ) { strTest += strTest; } alert(strTest); delete strTest; CollectGarbage(); //--> </SCRIPT> CollectGarbage,是IE的一个特有属性,用

  • JavaScript 中this指向问题案例详解

    总结 全局环境 ➡️ window 普通函数 ➡️ window 或 undefined 构造函数 ➡️ 构造出来的实例 箭头函数 ➡️ 定义时外层作用域中的 this 对象的方法 ➡️ 该对象 call().apply().bind() ➡️ 第一个参数 全局环境 无论是否在严格模式下,this 均指向 window 对象. console.log(this === window) // true // 严格模式 'use strict' console.log(this === window

  • JavaScript定时器实现限时秒杀功能

    本文实例为大家分享了JavaScript实现限时秒杀功能的具体代码,供大家参考,具体内容如下 文件index.html 代码: <!DOCTYPE html> <html> <head> <meta charset="GBK" /> <title>show</title> <link rel="stylesheet" href="css/index.css" type=

  • JavaScript es6中var、let以及const三者区别案例详解

    首先,一个常见的问题是,ECMAScript 和 JavaScript 到底是什么关系?         ECMAScript是一个国际通过的标准化脚本语言.JavaScript由ECMAScript和DOM.BOM三者组成.可以简单理解为:ECMAScript是JavaScript的语言规范,JavaScript是ECMAScript的实现和扩展.         2011 年,ECMAScript 5.1 版发布.之前我们大部分人用的也就是ES5         2015 年 6 月,ECM

  • 详解JavaScript中Arguments对象用途

    目录 前言 Arguments 的基本概念 Arguments 的作用 获取实参和形参的个数 修改实参值 改变实参的个数 检测参数合法性 函数的参数个数不确定时,用于访问调用函数的实参值 遍历或访问实参的值 总结 在实际开发中,Arguments 对象非常有用.灵活使用 Arguments 对象,可以提升使用函数的灵活性,增强函数在抽象编程中的适应能力和纠错能力. JavaScript 中 Arguments 对象的用途总结. 前言 相信我们很多人在代码开发的过程中都使用到过一个特殊的对象 --

  • 超详细的JavaScript基本语法规则

    目录 01 JavaScript (简称:js) js分三个部分: JavaScript是什么? js的代码可以分三个地方写: 02 操作符 操作符:一些符号-----用来计算 关系运算符: 关系运算表达式: 逻辑运算符: 逻辑运算表达式: 03 JS变量 变量名的注意问题-变量名的命名: 04 JS变量作用 05 JS变量的交换 使用第三方的变量进行交换 第二种方式交换:一般适用于数字的交换 06 注释 注释的方式: 07 JS的数据类型 值类型(基本类型): 引用数据类型: 08 JS的数字

  • JavaScript实现限时秒杀功能

    本文实例为大家分享了JavaScript实现限时秒杀功能的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <div class="box"> <div id="d"><

  • JavaScript setTimeout与setTimeinterval使用案例详解

    这两个方法都可以用来在固定的时间段后去执行一段javascirpt代码,不过两者各有各的应用场景. 实际上,setTimeout和setInterval的语法相同.它们都有两个参数,一个是将要执行的代码字符串,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码. 不过这两个函数还是有区别的,setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码. 虽然表面上看来setTimeout只能应用在on-

  • JavaScript数据可视化:ECharts制作地图

    目录 概述 注意事项 一. 使用方式 二. 实现步骤 初步实现代码 效果: geo常见配置 添加上面配置之后的效果图: 显示某一个省份(河南省) 效果 不同区域显示不同颜色 地图和散点图的结合 总结 概述 地图在我们日常的数据可视化分析中是很常见的一种展示手段,不仅美观而且很大气.尤其是在大屏展示中更是扮演着必不可缺的角色 注意事项 一. 使用方式 1.百度地图API(高德地图API) 需要申请百度API 2.矢量地图 需要准备矢量地图数据 二. 实现步骤 1.ECharts最基本的代码结构 引

  • JavaScript中类型的强制转换与隐式转换详解

    目录 一.隐式转换 双等号里的转换 Boolean 类型转换 "+" 与 "-" 二.强制类型转换 new String 与 ' ' 总结 一.隐式转换 以下语句的执行结果是什么? A. undefined == null B. isNaN("100") C. parseInt("1a") === 1 D. [ ] instanceof Array 答案: A. undefined == null 为 true: undefi

  • JavaScript实现通过滑块改变网页颜色

    大家好,今天我在看web前端的HTML时,看到input标签的type属性是range时在页面上显示的是一个滑块,我突发奇想能不能通过滑来改变网页的颜色.现在我和大家分享一下通过滑块来改变网页的颜色. 首先要知道怎么样来表示颜色,颜色的表示有四种方式: 1.用颜色的名称来表示颜色:red,green...等 2.用#加16进制数表示:#FF0000/#F00 红色.#00FF00/#0F0 绿色 ...等 3.用rgb值:rgb(0,0,0) 黑色.rgb(255,255,255) 白色....

  • JavaScript中BOM和DOM详解

    目录 BOM(浏览器对象模型) 1. window 获取浏览器c窗口尺寸 2. screen 获取电脑屏幕大小 3. window 开启关闭窗口 4. 浏览器事件 5. location 6. history 7. navigator 获取浏览器相关信息 8. 弹窗 DOM (文档对象模型) DOM 分类 DOM对象 Document文档对象 element文档对象 DOM事件操作 鼠标事件 键盘事件 触屏事件 特殊事件 表单事件 浏览器兼容处理 兼容性写法,封装工具 BOM(浏览器对象模型)

随机推荐