JavaScript_对象,包装类

        var mrDeng ={
            name:"laodeng",
            age:40,
            sex:"female",
            health:100,
            smoke:function(){
                console.log('i am smoking, i am cool');
                mrDeng.health--;
            },
            drink:function(){
                console.log('i am drinking');
                mrDeng.health++;
            }
        }
        </script>
</body>

`.代表函数引用`  
 改 mrDeng.health 为 this.health,此处 this 指代的是自己,是第一人称,指的就是 mrDeng。因为 this 是在一个方法里面,所以指的这个方法。  
 `smoke : function (){`  
 `console.log(‘I am good’)`  
  `this.health --;`  
 `},`


* **属性的增、删、改、查**  
 例在上面的基础上 `mrDeng.wife = “xiaoliu”`,也可以在控制台操作。  
 `=` `“”`等号后面的引号里面需要有值才可以,删除必须借助 `delete mrDeng.sex`
* 对象的创建方法  
 (1) `var obj = {}` 对象字面量/对象直接量 `plainObject`  
 (2)构造函数  
 1)系统自带的构造函数 Object()  
 `new Object();` `Array();` `Number();` `Boolean();` `Date();`  
 系统自带的构造函数 Object()可以批量生成对象,每一个对象都一样,但是彼此相互独立。 在 Object()前面加个 new,变成 new Object()的执行,就会真正的返回一个对象,通过 return 返回,拿变量接收。比如:`var obj = new Object();`  
 `var obj = new Object();`和 `var obj = {};`这样写区别不大  
 例 `var obj = new Object();`  
 `obj.name = ‘abc’;`  
 `obj.sex = “male”;`  
 双引号和单引号都是表示的字符串,写双引号也可以写单引号,但是为了跟后端 php配合最好写单引号。如果要打印一个单个的引号,用正则表达式转义字符`\`  
 2)自定义  
 `Object.create`(原型)方法  
 例 `function Person(){}`  
 `Person` 是可以随便写的,也是构造函数  
 构造函数跟函数结构上没有任何区别  
 例 `var person1 = new person();`  
 必须用 new 这个操作符,才能构造出对象  
 构造函数必须要按照大驼峰式命名规则,但凡是构造函数就要大写,例如 TheFirNa  
 例 car1 和 car 是长得一样,但是是不同的两个 car。方法名和对象名尽量不一样  
 a 和 A 变量是两个变量,`var car = new Car` 里面 car 和 Car 是两个变量。  
 例 这里的 color 可以和上面的重复。通过参数,使函数发生变化,变成自定义。  
 **构造函数内部原理**  
 前提必须要加 new,以下三步都是隐式的:  
 1.在函数体最前面隐式的加上 `var this = {}` 空对象  
 2.执行 `this.xxx = xxx;`  
 3.隐式的返回 `return this`


### 包装类


* `new String();`
* `new Boolean();`
* `new Number();`  
 `var num =123;` → 原始值数字  
 只有原始值数字是原始值,原始值不能有属性和方法。属性和方法只有对象有,包括对象自己,数组,function  
 `var num = new number 123;` → 构造函数。是对象 123,不是原始值数字  
 字符串类型的对象:  
 `var num = new Nunber(123);` //数字类型对象  
 `var str = new String(‘abcd’);` //字符串类型对象  
 `var bol = new Boolean(‘true’);` //布尔类型对象  
 undefined 和 null 不可以有属性  
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值