对象与构造函数[JavaScript_009]

2019-03-14  本文已影响0人  六亲不认的步伐

对象


区别(特点):与C++,Java,C#不同,JavaScript生成的对象可以对其进行动态的添加,修改,删除对应的属性,比较灵活

构造函数


  1. 在函数体(构造函数)最前面隐式添加 this
    function Animal(){
          var this = {
                __proto__ : Animal.prototype
          };//隐式添加  
    }
  1. 执行赋值语句 this.key =value;
  1. 隐式返回this 即 return this;

构造函数与函数的关系与区分


   function TestObject(name,age){
          var that= {};
          that.name = name;
          that.age = age;
          return that;
    }
  var test = TestObject('15','52');//注意此时没有使用关键词new,使用new时会返回原始值,若指定返回其他内容则会强制修改为this

New解释


     var testNum = new Number();//此时会生成对象,并不是Number,但是参与运算后可以转化为Number
     testNum.a = "abc";//此时可以添加属性值,与对象相似

包装类


     var testNum = 4;
     testNum.a = "abc";//此时可以添加属性值,但是不会报错,输出为undefined
    //隐式环节:包装类
    //1. testNum = new Number(4);
    //2. testNum.a ="abc";
    //3. delete testNum ;
     var str= "abcd";
     str.length = 2;
    console.log(str);//输出为abcd
    console.log(str.length);//输出为4
    //隐式环节:包装类
    //1. new String("abcd").length = 2
    //2. delete new String("abcd")
     var str= "abc";
     str += 1;
     if(str.length == 6){
            str.sign = "Hello World";
     }
     console.log(str.sign);//结果为undefined
上一篇 下一篇

猜你喜欢

热点阅读