您的位置:首页 > Web前端 > JavaScript

Javascript漂流记(上)__对象、包装类

2019-05-26 23:08 537 查看
版权声明:本文为博主原创,转载请附上博文链接。 https://blog.csdn.net/AquamanTrident/article/details/90576069

一、对象
    1、创建一个对象,对象有一些属性和方法。

[code]            var obj = {
name : 'object',
age : 20,
gender : 'bisexual',
difficult : function(){
console.log('你能把我咋地!');
this.age--;
},
length: function(){
console.log('大丈夫能屈能伸');
this.age++;
}
}

           增:obj.father = 'Javascript';
           删:delete obj.name;
           改:obj.gender = 'female';
           查:console.log(obj.age);
           当访问一个对象没有的属性,返回undefined。
    2、对象的创建方法:
          1、plainObject,对象字面量/对象直接量,参照上面代码。
          2、构造函数(大驼峰式命名)
                1.系统自带:var obj = new Object();
                2.自定义方法,看下图代码。

[code]            function CarManufacture(color,seat){
this.color = color;
this.seat = seat;
this.name = 'BMW';
this.height = '1400';
this.weight = 1000;
this.health = 100;
this.run = function(){
this.health--;
}
}
var car1 = new CarManufacture('red','leather');
var car2 = new CarManufacture('yellow','wood');

                一个工厂生产出两台一模一样的车,car1和car2,他们可以随意调用自己的属性和方法,互不相干。
         3、构造函数内部原理:
              1.在函数体最前面隐式var this = {};
              2.执行this.xxx = xxx;
              3.最后隐式return this;

[code]            function Person(name,height){
//var this = {}
this.name = name;
this.height = height;
this.say = function(){
console.log(this.say);
}
//return this;
return {};//return引用值可以捣乱,但return原始值影响不了。
}

var person1 = new Person('Jack',180);
var person2 = new Person('Tom',160);


二、包装类:
       属性和方法专属对象,原始值是坚决没有属性和方法的!!!
       数字,字符串,布尔都可以new。但undefined和null没有这种操作,这也是他俩不能调用toString的原因吧
       var num = new Number(123);
       var str = new String('abcd');
       var bol = new Boolean('true');  

[code]            var str = 'abc';
str += 1;
var test = typeof(str);//test == 'string'
//隐式new String(test).length == 6    delete
if(test.length == 6){
test.sign = 'typeof的返回结果可能为String';
//隐式new String(test).sign = 'typeof的返回结果可能为String'   delete!!!
}
//隐式new String(test).sign = undefined
console.log(test.sign);//undefined

以上内容属二哥原创,整理自 "渡一教育Javascript课程" ,一个值得推荐的"渡一教育"。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: