1.   定义:对象是JS的核心概念,也是最重要的数据类型。js的所有数据都可以被视为对象。
                对象是一种无序的数据集合,由若干个键值对(key:value)构成,由{ }包裹;
 
2.写法:var  obj={  
                    属性名:属性值,
                    属性名:属性值,
                    属性名:属性值        最后一个键值不建议添加逗号(ie8不兼容);
                     };
 
            A、对象的所有键名都是字符串,所以在书写时加不加引号都可以。
            B、键名又称“属性”(property),它的键值可以是任何数据类型。
            C、如果一个属性的值为函数,通常把这个属称成为“方法”,它可以像函数那样调用。
 
注意:(1)键名要符合标识符命名规范;
           (2)如果不符合要加“  ”;
           (3)键名可以是数值,它会自动被转换为字符串;
           (4)键名可以是js的关键字(保留字),但不推荐使用;
 
3.创建object的方法:
    (1)字面量方法定义:var obj={ };
    (2)构造函数创建:var  obj=new Object( ) ;
    (3)基于原型(继承方式):  var obj=Object.Creat( null ) ; (不常用)    
 
4.读写属性
 
    (1)读取属性:A、 点运算符------对象名 .  属性名;
                               B、 方括号输出-------对象名[ '属性名' ]  ;
            注意:(1)数字键名不可以用点运算符来读取(因为会被当做小数点),
                       (2)数字键只能使用方括号运算符读取,可以不加引号(因为会自动被转换为字符串处理)。
                       (3)方括号里的属性名一定要加引号(数字键随意);
 
    (2)写入属性(赋值):    A、点属性写入        obj.属性名=属性值;
            (无序)                    B、[    ]形式写入        obj[  '属性名' ]=属性值  ;
             js允许属性的‘属性的后绑定’,可以动态创建;
 
5.查看所有的属性: Object . keys(obj)    返回值为对象中全部的属性名,结果是属性名组成的数组集合;
 
6.删除属性:        delete  obj . 属性名        删除成功返回值为true,否则返回false;
                            删除后再去查看该属性,返回值为undefined;
                            删除一个不存在的属性,不会报错,返回值为true;
                            delete命令只能删除对象本身的属性。可以用hasOwnProperty来判断一下是否是对象本身的属性。
 
7.对象引用:  不同变量名指向同一个对象(引用同一个对象),修改其中一个变量,会影响到其它所有的变量;
var  o1 = {},
o2 = {name:123}
o1 = o2;
o1.name; // 123
o2.name = 456;
o1.name; // 456
8.in 运算符:用于检测对象是否包含某个属性(键名);
             属性名 in obj  ("name" in p) 包含返回值为true,否则返回false;
 
9.for…in (无序的):遍历一个对象的所有属性,返回----属性值;
for( var i in p){
    console.log(p[i]);
};



10.with :操作同一个对象的多个属性,减少代码量,避免重复书写(写法类似于while);
   with(object){
      属性名=属性值;    with语句块,所有赋值后的语句后面要加分号;

     name = 1000;
age = 3;

    }
     注意:(1)查看object.name ,返回值为undefined;
           (2)with区块对name操作,等于创建了一个全局变量name,该属性不属于对象
;可以先定义object的属性name,然后在with区块内操作它;
           (3)可以为对象的属性进行再赋值,覆盖掉原来的属性值;
 
<-----------学习笔记,谢谢指正!----------->

JavaScript-Object基础知识的更多相关文章

  1. 快速掌握JavaScript面试基础知识(三)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  2. 快速掌握JavaScript面试基础知识(二)

    译者按: 总结了大量JavaScript基本知识点,很有用! 原文: The Definitive JavaScript Handbook for your next developer interv ...

  3. javascript的基础知识及面向对象和原型属性

    自己总结一下javascript的基础知识,希望对大家有用,也希望大家来拍砖,毕竟是个人的理解啊 1.1 类型检查:typeof(验证数据类型是:string) var num = 123; cons ...

  4. JavaScript 之基础知识

    JavaScript 基础知识 JavaScript 是属于网络的脚本语言! JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用. JavaS ...

  5. JavaScript对象基础知识总结

    1.什么叫JavaScript对象? 定义:名值对的集合.简单的讲就是容纳属性值和属性值的容器,这些属性可以是无序的,基本上JavaScript中所有的事物都可以看成对象. 拓展:我们经常说,数组也是 ...

  6. JavaScript笔记——基础知识(一)

    <Script>标签属性 <script>xxx</script>这组标签,是用于在 html 页面中插入 js 的主要方法.它主要有以下 几个属性: charse ...

  7. javascript 正则表达式基础知识汇总

    正则表达式:对字符串中的信息实现查找.替换和提取操作.(不支持注释和空白,必须写在一行内)正则表达式的创建:包含在一对斜杠之间的字符(直接量语法)例如:var pattern = /s$/;     ...

  8. JavaScript语言基础知识8

    这篇文章是对前面学习的知识进行总结: 1.JavaScript支持多种数据类型,如数值类型.字符串类型.布尔类型等. 2.在JavaScript中,字符串是用引號括起来的字符系列,转义字符能够用来表示 ...

  9. javascript的基础知识整理

    Basic ObjectsArray Properties constructor  属性返回对创建此对象的数组函数的引用 object.constructor prototype 属性使您有能力向对 ...

  10. JavaScript笔记——基础知识(二)

    Function类型 函数function不需要返回类型(不是没有返回值),参数也不需要指定类型,更为特殊的是函数竟然是个类,可以通过new出来 var box= new Function('num1 ...

随机推荐

  1. HTTP Header 详解

    HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应.就整个网络资源传 ...

  2. asp.net 上传文件超过了最大请求长度

    今天系统遇到了一个问题,上传4m以上的文件,uploadify就会报错:超过了最大请求长度. 开始我以为是设置的大小,可是后来我看了uploadify的fileSizeLimit=1024*10,也就 ...

  3. sql查删更

    //查询#SELECT * FROM user_cawefwfrd where usewwr_cawrqqd_qaid=2252227//删除#DELETE FROM user_cauyuyurd w ...

  4. selenium page object & Page Factory

    package demo; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa ...

  5. Debian8.3如何设置默认不启动Gnome

    最近又光荣的回归了debian的怀抱,其实我就是跟风,现在做传媒平时也用不到多么高深的计算机知识,纯粹自己瞎鼓捣……嘿嘿,我相信有很多像我一样的人,刚刚装上了debian可以在同事面前华丽丽的装了一逼 ...

  6. git常用的命令集合

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...

  7. qt5.5程序打包发布以及依赖【转】

    玩qt5也有一段时间了,惭愧的是一直没有好好的发布过程序,因为写的都是小程序没啥需要用到发布,而且qt也说不上很熟悉,本来打算到基本掌握qt之后再来研究研究怎么打包程序,最近晚上的空闲时间多了,闲着也 ...

  8. 多Linux系统如何复用/home目录

    Brief: 1./home单独分区:2.不同系统/home建立不同的用户名:3.不同系统/home对其他用户授权 Linux下/home文件夹可以通用吗?例如我机器上同时装了两个Linux系统,可以 ...

  9. Delphi容器类之---TList、TObjectList、TComponentList、TClassList

    转载自:http://blog.csdn.net/iseekcode/article/details/4922001 从Delphi5开始VCL中增加了新的Contnrs单元,单元中定义了8个新的类, ...

  10. 基于Codeigniter框架实现的APNS批量推送—叮咚,查水表

    最近兼职公司已经众筹成功的无线门铃的消息推送出现了问题,导致有些用户接收不到推送的消息,真是吓死宝宝了,毕竟自己一手包办的后台服务,影响公司信誉是多么的尴尬,容我简单介绍一下我们的需求:公司开发的是一 ...