javaScript基础(8):(对象和包装类)

105 阅读1分钟

打好基础,查漏补缺

基础是重中之重

对象的创建方法

1.字面量 var obj={}

2.构造函数

    1)系统自带的构造函数 new Object() Array() Number()
         var obj = new Object()
    2)自定义 约定 大驼峰式命名规则
        function Person (){
            this.name = 'To'
            this.height= 170
            this.health = 100
            this.smoke = function(){
                console.log(I am smoking!!!)
                this.health -- 
                //这个this我理解是在作用域上找
            }
        }
        var person = new Person()  
        var person1 = new Person()

构造函数的内部原理

当new操作符操作之后 构造函数会执行三步

1、隐式在构造函数声明 this变量

2、this.xx = xx

3、隐式return this


    function Person (name,age){
        //1. var this = {__proto__:Person.prototype}
        // 2 . this = {name,age}
        this.name = name
        this.age = age
        //3. return this  // 注意 new操作符之后 显示return 中断只能用Object 类型
    }
    var person1 = new Person('To',18)

包装类

原始类型是没有属性的,但为什么String有length属性?

var num = new Number(123) // 数字对象  可以增加,能参与运算,运算完以后变为数字。

var str = new String('abc') // 字符串对象

var bol = new String(true) // 布尔对象

<!--        分割线        -->

var num = 4

num.len = 3
// new Number(4).len = 3 ;  delete
//new.Number(4)   
console.log(num.len) // undefined

这个隐式的过程叫包装类