JavaScript中的对象---如何自定义对象

JavaScript中的对象—如何自定义对象

一 JavaScript对象

JavaScript对象是基本数据类型之一,是复合类型;

JavaScript中几乎所有事物都是做对象;

JavaScript的对象是拥有属性和方法的数据。

1 . JavaScript中的对象可以简单理解成“名称:值”对(name:value):

(1)JavaScript中的对象与这些概念类似
a:Python中的字典;
b:Perl和Ruby中的散列(哈希)
c:c/c++中的散列表
d:Java中的HashMap
e: PHP中的关联数组

(2)名称【“名称”部分是一个JavaScript字符串】
注意:可以将属性名括在引号之间
a:这三种形式一样:
var obj={prop:1}
var obj={“prop”:1}
var obj={‘prop’:1}

b:必须放到引号之间
A.如果属性名是JavaScript的保留字之一
B.如果属性名中包含特殊字符(除字母,数字,下划线以外的字符)
C.如果属性名以数字开头
D.在ECMScript5中,保留字可以用作不带引号的属性名,但对于ECMScript3中必须用括号括起来

E.在ECMScript5中对象直接量中的最后一个属性后的逗号将被忽略,在ECMScript3的大部分实现中也可以忽略这个逗号,但在IE中报错。

(3)值【“值”部分可以是任何JavaScript的数据类型–包括对象】

二 JavaScript中的对象分类

1.内建对象

2 自定义对象
(1)通过var obj={}【对象字面量(object literal)法】

(2)通过var obj=new Object()创建

(3)通过构造函数创建对象
a:function person(){}

b:var person=function(){}

c:构造器属性(constructor property)

d:通过instanceof操作符可以检测一个对象是否由某个指定的构造器函数创建的

e:注意:
使用的时候通过new操作符得到对象【var person1=new Person()】

用构造器创建对象的时候可以接收参数

一般函数构造函数的首字母最好大写,区别其他的一般函数

(4)通过Object.create创建对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script type="text/javascript">
    //通过对象字面量的形式创建对象
    var obj={};//没有任何属性的对象
    //alert(typeof obj);
    var obj1={x:1,y:2,z:3};
    var obj2={
        'x':1,
        "y":2,
        username:'king',
        'for':'javascriptg关键字必须放到引号之间',
        'first-name':'queen',
        married:true,
        test:null,
        test1:undefined ,
        salary:12.3,
        person:{
            username:'king',
            age:12,
            addr:'北京'
        }
    };
    //通过new Object()创建对象
    var obj3=new Object ();//创建一个空对象,{}
    var arr=new Array();//空数组,[]
    var date=new Date();//日期时间对象
    var reg=new RegExp('JS');//创建正则对象
    var obj4=new Test();
    function Test1(num1,num2){
        this.n1=num1;
        this.n2=num2;
    }
    var obj5=new Test1(5,6);
    //alert(typeof obj5);
    //alert(obj5 instanceof Test1);
    //通过Object.create()创建对象
    var obj6=Object.create ({x:1});
    var obj7=Object.create (null);
    //创建一个普通的空对象
    var obj8=Object.create (Object.prototype);
</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值