Javascript漂流记(上)__对象、包装类
一、对象
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课程" ,一个值得推荐的"渡一教育"。
- JavaScript笔记:原始值对象包装类
- JavaScript对象、包装类
- javascript面向对象包装类Class封装类库剖析
- javascript面向对象包装类Class封装类库剖析
- 09_javascript内建对象(包装类)
- Javascript漂流记(上)__Date对象、实现日历插件
- Javascript漂流记(上)__继承模式、命名空间、对象枚举
- JavaScript之对象、构造函数、包装类
- javascript面向对象包装类Class的类库解析
- JavaScript包装类:“原始值变对象”了解一下!
- Javascript中获取对象的原型对象
- Javascript中对象的Obeject.defineProperty()方法-------------(ES5/个人理解)
- JavaScript基本对象
- javaScript对象和属性的创建方法
- javascript对象知识总结
- JavaScript基础之标准对象
- 在JavaScript中创建新对象 [5]
- Java面向对象高级--包装类
- Javascript中使用String对象的方法
- Javascript日期对象的dateAdd与dateDiff方法