对象,包装类

对象(基础变量类型Object)

 var Object={
            name : "baoxiaohai",
            level:  0,
            sex  : "male",       //属性
            study: function(){
               this.level++;     //若要在方法内部指定属性的运算,可以用 **this.属性**指代
            }                    //方法
        }
  • 属性值的增删改查
    : 对象.属性=“ ”;直接操作。
    : 对象.属性( (document.write();)不可以用于整个对象。)
    : 直接给属性重新赋值
    : delete 对象.属性
    在一个对象的属性未被定义之前返回值为undefined

对象的创建方法

  • var obj = { } plainObject 对象字面量/对象直接量
  • 构造函数
    ①系统自带的构造函数Object( ); Array( ); object=new Object( );
    ②自定义(约定俗成的大驼峰式命名规则,每一个单词的首字母都大写)

    function   ObjectName{
    
                   };
    var  a = new ObjecrName( );
    var  b = new ObjectName( );

    a与b相互独立

构造函数的内部原理

调用new操作符隐式构造

 function Student(name,age,sex){
           //调用New操作符在此处隐式创建了this{
             name:""   age: " "   sex:" "
           }
            this.name = name ;
            this.age = age;
            this.sex = sex;
            this.gread = 2017;
           //在此处隐式返回this;
           //如果在此处加上return干扰返回值,如果返回原始值系统自动忽略,如果是对象可以干扰到返回值
        }
        var Student1 = new Student('baiyuting', 3, 'femeal');
        var Student2 = new Student('baoxiaohai', 4, 'male');

包装类

数字对象:(可以像数字一样被操作)var num = new Number("123"); num*2=246 ==>数字
原始值没有属性

        var num = 4;
        num .len = 3;
        //系统隐式创建数字对象new Number(4).len = 3;
        //执行完赋值 ==> delete
        //创建一个新的数字对象new Number(4).len输出,此时num.len无实际值
        console.log(num.len);//undefined

既然原始值没有属性,那字符串的长度是怎么输出的呢???
过程大致如下,字符串的原型String上有length属性。

        var str = "abcd";
        console.log(str.length)
        //console.log(new String("abcd").length);
        str.length = 2;
        //new String('abcd').length = 2; ==> delete
        console.log(str);//abcd

那么字符串是否可以增加别的属性呢???

        var str = "abc";
        str += 1;
        var test = typeof(str);
        if(test.length==6){
            test.sign = "typeof的返回结果可能为string";
            // text=new String().sign="typeof的返回结果可能为string"; delet
        }
        console.log(test.sign);//undefined

由此可见原始值并没有属性,也不能通过后期增加。
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值