简介:

JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。
在 JavaScript 中,对象是拥有属性和方法的数据。

一.对象的类型

  • 本地对象:就是ECMA定义好的一些对象,包含Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、String以及各种错误类对象Error、EvalError、RangeError、ReferenceError、SyntaxError和TypeError。
  • 内置对象:只有Global和Math两个对象,其实可以理解为是包含在本地对象中的。
  • 宿主对象:需要依赖浏览器等宿主环境的对象,简单点就是我们自定义的各种对象,包括BOM和DOM对象。

二.对象的创建、继承

  1. 字面量形式
    var obj = {name:"hello",age:18}

  2. 使用new关键字
    var obj = new object()
    obj.name = "hellow";
    obj.age = 19;

  3. 使用ES5的object.create()

    object.create()是一个静态的函数,参数一:要继承的对象;参数二:可选,用以对对象的属性做进一步的描述

     var obj = object.creat({name:"hello",age:"20"}) //obj继承了name和age属性

4.工厂模式创建
   function creatobj (name,age){

     var obj = new object();

     obj.name = name;

     obj.age = age;
return obj;

     }

     var o1 = creatobj("hello",21);

     var o2 = creatobj("hello",22);
          优点:能够重复创建同类对象,提高效率
         缺点:消耗内存

5.构造函数创建
     function Person(name,age) {

      this.name = name;

      this.age = age;

      }

     var per1 = new Person("hello",23);

     var per2 = new Person("world",24);

6.原型模式
    function Person(name,age){

     this.name = name;
this.age = age;

    }

     Person.prototype.showName =function(){

      alert(this.name);

      }

     var pe = new Person("pro",25);
pe.showName(); //25

7.混合模式

三.属性查询

var obj = {name:"hello"}

  1. 使用in运算符
    "name" in obj;
    如果对象的自有属性或者继承属性包含该属性就返回true;否则返回false。

2.hasOwnPreperty()
obj.hasOwnPrerperty("name");
如果是对象的自有属性就返回true;否则false

3.propertyIsEnumerable()
obj.propertyIsEnumerable("name" )
只检测这个属性是自有属性并且是可枚举的时候才返回true;否则返回false

4.使用"!=="
obj.name !== undefined //true 存在该属性;false 不存在该属性
但是存在一种特殊的场景只能使用in运算符而不能使用!==;如果var o = {x:undefined}的时候

javascript的对象的更多相关文章

  1. javascript 全局对象--w3school

    JavaScript全局对象 1.  decodeURI()解析某个编码的URI. 2.decodeURInComponent()解析一个编码的URI组件. 3.encodeURI()把字符串编码为U ...

  2. JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString

    JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...

  3. 从零构建JavaScript的对象系统

    一.正统的类与继承 类是对象的定义,而对象是类的实例(Instance).类不可直接使用,要想使用就必须在内存上生成该类的副本,这个副本就是对象. 以Java为例: public class Grou ...

  4. 关于javascript自定义对象(来自网络)(最近几天不会的)

    javascript定义对象的几种简单方法 1.构造函数方式,全部属性及对象的方法都放在构造方法里面定义 优点:动态的传递参数 缺点:每创建一个对象就会创建相同的方法函数对象,占用大量内存 funct ...

  5. 据说每个大牛、小牛都应该有自己的库——JavaScript原生对象拓展

    在据说每个大牛.小牛都应该有自己的库——框架篇中我扬言要做个小牛,没想到一天没更新,小伙儿伴们就戏谑的问我,油哥是不是要太监了?其实事情是这个样子的,这不是太监的节奏,一是,关于写个自己的库的想法由来 ...

  6. JavaScript RegExp 对象

    JavaScript RegExp 对象 RegExp 对象用于规定在文本中检索的内容. 什么是 RegExp? RegExp 是正则表达式的缩写. 当您检索某个文本时,可以使用一种模式来描述要检索的 ...

  7. JavaScript String 对象

    JavaScript String 对象 String 对象 String 对象用于处理文本(字符串). String 对象创建方法: new String(). 语法 var txt = new S ...

  8. JavaScript Math 对象

    JavaScript Math 对象 Math 对象 Math 对象用于执行数学任务. Math 对象并不像 Date 和 String 那样是对象的类,因此没有构造函数 Math(). 语法 var ...

  9. JavaScript Number 对象

    JavaScript Number 对象 Number 对象 Number 对象是原始数值的包装对象. Number 创建方式 new Number(). 语法 var num = new Numbe ...

  10. JavaScript Array 对象

    JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...

随机推荐

  1. Alpha版总结会议

    昨天上课的时候,我们学习了项目总结这一部分的内容,并根据老师提供的项目Postmortem模板对我们的项目进行了总结. 项目Postmortem模板主要分为设想和目标.计划.资源.变更管理.设计和实现 ...

  2. JS中用apply、bind实现为函数或者类传入动态个数的参数

    为纪念10年没写blog,第一篇博文就以这样一个有趣的窍门开始吧 -___- 在ES5中,当我们调用一个函数时,如果要传入的参数是根据其他函数或条件判断生成的,也就是说不确定会传入多少个参数时,在不改 ...

  3. Sql Cursor example

    USE [EUC]GO/****** Object:  StoredProcedure [dbo].[SP_SME_QueryAuditLog]    Script Date: 02/05/2015 ...

  4. LPC1768\1769之中断优先级与中断优先级组

    一.背景 USB在持续通信几十万次后,会出现USB IN中断丢失几次的情况,分析是中断优先级不够高,导 致USB中断在排队,然而排队还未完成,又有新的USB中断发生,致使其中断丢失.LPC1769的所 ...

  5. Can I Win

    In the "100 game," two players take turns adding, to a running total, any integer from 1.. ...

  6. kill命令

    *杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志.   首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:   # kill -pid   注释:标准的kill命令通 ...

  7. checked 全选 反选 示例

    不多说看例子: 右上侧全选,然后每个栏又有一个栏目全选. 反选解决办法: function selectSubscibe(_class) { $("." + _class + &q ...

  8. 将页面转化为pdf的实现方法

    1.实现代码把html转化为pdf主要是使用wkhtmltopdf.exe工具生成,在获取转化的地址,创建一个进程,把地址传递到进程参数中进行调用wkhtmltopdf.exe工具打印 2.代码片段/ ...

  9. cron 任务

    相关文件 /etc/crontab /etc/cron.deny 设置哪个用户有权限运行 cron 任务 /var/spool/cron/root /var/spool/cron/user /var/ ...

  10. sh2.sed脚本练习

    1,删除/etc/grub.conf文件中行首的空白字符: sed -r 's@^[[ :spapce: ]] +@@g' /etc/grub.conf 2.替换/etc/inittab 文件中&qu ...