Javascript漂流记(上)

    xiaoxiao2025-01-16  10

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

    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.自定义方法,看下图代码。

    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;

    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');  

    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课程" ,一个值得推荐的"渡一教育"。

     

    最新回复(0)