1.如何辨别js中的对象

  除了五种基本的数据类型,其他的都是对象。万物皆对象。

2.Js中对象的分类

  1)内建对象

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

    eg:String、Number、Boolean、Function...

  2)宿主对象

    由JS运行环境提供的对象,现在主要指浏览器提供的对象。

    eg:DOM对象、BOM对象。

  3)自定义对象

    自己创建的对象

3.如何创建对象

  1)构造函数

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

    使用new关键字调用的函数,可以被称为构造函数。

    格式: var obj = new Object();

  2)定义

    在对象中保存的值称为属性。

    向对象添加属性:对象.属性名=属性值;

    读取对象中的属性:对象.属性名(如果读取对象中没有的属性,不会报错,会返回undefined)

    修改对象的属性:对象.属性名 =  新值;

    删除对象的属性:delete 对象.属性名;

4.属性名

  如果使用特殊的属性名,不能采用.来操作,需要使用另一种方式。

  语法:对象["属性名"] = 属性值;(读取时也要用该方法)

  eg:obj["666"] = 888;

5.基本类型和引用类型在堆栈中的表示

  1)基本数据类型:String、Number、Boolean、Null、Undefined

  2)引用数据类型:Object

  3)区别

    a. JS中的变量都是保存在栈内存中的,基本数据类型的值直接在栈内存中存储,值与值之间是独立存在,修改一个变量不会影响其他的变量。

    b.对象是保存在堆内存中的,每创建一个新的对象,就会在堆内存中开辟一个新的空间,而变量保存的是对象的内存地址(对象的引用),如果两个对象保存的是同一个对象引用,当一个通过一个变量修改属性时,另一个也会受到影响。

  4)ps:如果比较两个基本数据类型的值时,就是比较值。

      如果比较两个引用数据类型的值时,就是比较对象的内存地址。

6.对象字面量

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

  语法:var 对象 = {属性名:属性值,属性名:属性值...};(属性名可以加“”也可以不加,建议不加,如果属性名特殊,则要加)

Js学习04--对象的更多相关文章

  1. JavaScript学习04 对象

    JavaScript学习04 对象 默认对象 日期对象Date, 格式:日期对象名称=new Date([日期参数]) 日期参数: 1.省略(最常用): 2.英文-数值格式:月 日,公元年 [时:分: ...

  2. js学习日记-对象字面量

    一.对象字面量语法 var person={ name:'小王', age:18, _pri:233 } 成员名称的单引号不是必须的 最后一个成员结尾不要用逗号,不然在某些浏览器中会抛出错误 成员名相 ...

  3. js 学习四 对象应用 吃货游戏

    游戏来源于 Mdn学习网站: 该例子用于对象的理解非常有效(建议看完上面网站的内容在开始练习) 弹球 body { margin: 0; overflow: hidden; font-family: ...

  4. js学习--浏览器对象计时器setInterval()与setTimeout()的使用与区别

    一.setInterval()与setTimeout()的定义: 二.setInterval()与setTimeout()的使用:    1.setInterval()与clearInterval() ...

  5. JavaScript学习12 JS中定义对象的几种方式

    JavaScript学习12 JS中定义对象的几种方式 JavaScript中没有类的概念,只有对象. 在JavaScript中定义对象可以采用以下几种方式: 1.基于已有对象扩充其属性和方法 2.工 ...

  6. JavaScript学习12 JS中定义对象的几种方式【转】

    avaScript学习12 JS中定义对象的几种方式 转自:  http://www.cnblogs.com/mengdd/p/3697255.html JavaScript中没有类的概念,只有对象. ...

  7. JS 学习(四)对象

    对象 在JS中,对象是数据(变量),拥有属性和方法. JS中所有事物都是对象:字符串.数字.数组.日期等. 对象是拥有属性和方法的特殊数据类型. 属性是与对象相关的值. 方法是能够在对象上执行的动作. ...

  8. Node.js学习笔记(四): 全局对象

    在浏览器 JavaScript 中,通常 window 是全局对象, 而 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global 对象的属性. 这 ...

  9. Js学习(6) 标准库-Array对象

    Array是Js的原生对象,同时也是一个构造函数,可以用它生成新的数组 用不用new结果都一样 var arr = new Array(2); // 等同于 var arr = Array(2); 但 ...

  10. web前端学习(四)JavaScript学习笔记部分(6)-- js内置对象

    1.JS内置对象-什么是对象 1.1.什么是对象: JavaScript中的所有事物都是对象:字符串.数值.数组.函数 每个对象带有属性和方法 JavaScript允许自定义对象 1.2.自定义对象: ...

随机推荐

  1. vue-cli 中的 eslint 规则说明

    "no-alert": 0,//禁止使用alert confirm prompt "no-array-constructor": 2,//禁止使用数组构造器 & ...

  2. JS filter的使用

    定义和用法 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 注意: filter() 不会对空数组进行检测. 注意: filter() 不会改变原始数组 ...

  3. solr 使用

    Solr安装 1:安装 Tomcat,解压缩即可. 2:解压 solr. 3:把 solr 下的dist目录solr-4.10.3.war部署到 Tomcat\webapps下(去掉版本号). 4:启 ...

  4. 进程、线程、IP、端口间关系

    进程.线程.IP.端口间关系 进程是指在系统中正在运行的一个应用程序: 线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元. 对于操作系统而言,其调度单元是线程.一个进程至少包括 ...

  5. springcloud添加自定义的endpoint来实现平滑发布

    在我之前的文章  springcloud如何实现服务的平滑发布 里介绍了基于pause的发布方案. 平滑发布的核心思想就是:所有服务的调用者不再调用该服务了就表示安全的将服务kill掉. 另外actu ...

  6. jeff dean的主页

    https://ai.google/research/people/jeff/ 上面有他的很多论文和ppt 很不错 我于1999年中期加入Google,目前是研究小组的Google高级研究员,负责Go ...

  7. vue---监听浏览器窗口的宽度

    使用VUE开发后台项目,后台项目需要进行后台根据浏览器窗口进行变化,需要使用vue来监听浏览器的窗口变化. <template>     <div class="conte ...

  8. laravel 解决 Please provide a valid cache path 问题

    这是因为laravel的缓存路径没有找到 laravel缓存文件路径是在 config/cache.php中设置,默认存在storage文件夹中 解决: 创建目录: mkdir -p storage/ ...

  9. 关于/r与/n 以及 /r/n 的区别总结

    应该说还是区别的,\r就是回到行首,\n就是到下一行的,但是一般我们输出程序时,看不到明显的差别的 '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格.通常用的Enter是两个加起来 ...

  10. [LeetCode] 136. Single Number 单独数

    Given a non-empty array of integers, every element appears twice except for one. Find that single on ...