PageSwitch.prototype = {}寫法覆蓋構造函數(shù)
老師您好,PageSwitch.prototype = {} 內部沒有指定構造函數(shù)的話,默認的構造函數(shù)會被覆蓋吧(變成new Object()),代碼里面的new PageSwitch()訪問到的構造方法是誰的?
老師您好,PageSwitch.prototype = {} 內部沒有指定構造函數(shù)的話,默認的構造函數(shù)會被覆蓋吧(變成new Object()),代碼里面的new PageSwitch()訪問到的構造方法是誰的?
2016-10-05
舉報
2017-02-23
構造函數(shù)的原型如果寫成 PageSwitch.prototype = {},那么原型中的constructor屬性確實會指向原生Object對象,其實個人覺得這個屬性也并沒有什么作用,如果實在想改,可以將它手動改成PageSwitch。
按照一般順序,先寫構造函數(shù) ? function PageSwitch(){} ?再寫原型 PageSwitch.prototype = {},之后實例化。這樣是沒有什么問題的,實例調用的方法還是構造函數(shù)原型中的方法,但是如果先實例化之后再修改原型就會有問題,就是你說的覆蓋。
回到這個代碼上,因為是按照正常順序來寫的,實例化是在寫完原型之后,所以沒有問題。
2016-10-10
構造方法??? 你是指constructor()么? 建議先弄清楚什么事構造方法