位置:首頁(yè) > 軟件操作教程 > 編程開發(fā) > JavaScript > 問(wèn)題詳情

JavaScript 調(diào)用構(gòu)造函數(shù)

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-26

■知識(shí)點(diǎn)

使用new命令可以調(diào)用構(gòu)造函數(shù),創(chuàng)建實(shí)例,并返回這個(gè)對(duì)象。

■實(shí)例設(shè)計(jì)

針對(duì)上節(jié)的示例,下面使用new命令調(diào)用構(gòu)造函數(shù),生成兩個(gè)實(shí)例,然后分別讀取屬性,調(diào)用方法sum()。

function Point (x,y) {             //構(gòu)造函數(shù)

    this.x = x;                    //私有屬性

    this.y = y;                    //私有屬性

    this.sum = function (){        //私有方法

        return this.x + this.y;

    }

)

var p1 = new Point(100,200);       //實(shí)例化對(duì)象1

var p2 = new Point(300,400);       //實(shí)例化對(duì)象2

console.log(p1.x);                 //100

console.log(p2.x);                 //300

console.log(pi.sum());             //300

console.log(p2.sum());             //700

■小結(jié)

    如果不使用new命令,直接使用小括號(hào)調(diào)用構(gòu)造函數(shù),這時(shí)構(gòu)造函數(shù)就是普通函數(shù),不會(huì)生成實(shí)例對(duì)象,this就代表調(diào)用函數(shù)的對(duì)象,在客戶端指代全局對(duì)象window。

    為了避免誤用,最有效的方法是在函數(shù)中啟用嚴(yán)格模式。這樣調(diào)用構(gòu)造函數(shù)時(shí),必須使用new命令,否則將拋出異常。

    function Point(x,y){        //構(gòu)造函數(shù)

    'use strict';               //啟用嚴(yán)格模式

    this.x = x;                 //私有屬性

    this.y = y;                 //私有屬性

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部