1. 程式人生 > >Js new 做了什麼?

Js new 做了什麼?

做了2年前端,底子虛浮,無根之浮萍。2年時間裡寫的程式碼不知道多少行了。越寫越覺的對前端理解不夠。又找不到什麼切入方向。css、js不斷更新。2只鞋子都沒穿好。在前端路上也能走,走了2年了,混到寫不動也沒關係。但是還是想穿好鞋子後在前端路上npm run。。。。
怎麼學呢。由點到面吧。英文看不懂。書拿到手裡就困。萬萬是讀不下去的。

class person {
    constructor(name, age) {
        this.sex = 'man',
        this.name= name;
        this.age = age;
        this.say = function() {
            console.log(`i am ${this.name}, i ${this.age}`)
        }
    }
}
var obj = new person('bird', 16);

console.log(obj)

在這裡插入圖片描述

// new 的作用

// 1 建立一個空物件

// 2 將建構函式的作用域賦予給新物件 (因此this的指向就指向了新物件)

// 3 執行建構函式中的程式碼(為這個物件新增屬性)

// 4 返回新物件

class person {
    constructor(name, age) {
        this.sex = 'man',
        this.name= name;
        this.age = age;
        this.say = function() {
            console.log(`i am ${this.name}, i ${this.age}`)
        }
    }
}



var newObj = {}
console.log(1)
console.log(newObj)

newObj.__proto__ = person.prototype

console.log(2)
console.log(newObj)
newObj.name = 'bird'
console.log(newObj)
console.log(newObj.name)
console.log(newObj.sex)

person.call(newObj)
console.log(3)

console.log(newObj)

在這裡插入圖片描述

引出的問題
1, class 的繼承 運用
2,prototype proto 之間的關係
3,call(),bind(),apply()