JS 中構造函數和普通函數的區別(詳)


1、構造函數也是一個普通函數,創建方式和普通函數一樣,但構造函數習慣上首字母大寫

2、構造函數和普通函數的區別在於:調用方式不一樣。作用也不一樣(構造函數用來新建實例對象)

3、調用方式不一樣

  •      普通函數的調用方式:直接調用 person();
  •      構造函數的調用方式:需要使用new關鍵字來調用 new Person();

4、構造函數的函數名與類名相同:Person( ) 這個構造函數,Person 既是函數名,也是這個對象的類名

5、內部用this 來構造屬性和方法 

function Person(name,job,age)
{
this.name=name;
this.job=job;
this.age=age;
this.sayHi=function()
{
alert("Hi")
}
}

6、構造函數的執行流程

  1.       立刻在堆內存中創建一個新的對象
  2.       將新建的對象設置為函數中的this
  3.       逐個執行函數中的代碼
  4.       將新建的對象作為返回值

7.普通函數例子:因為沒有返回值,所以為undefined

8、用instanceof 可以檢查一個對象是否是一個類的實例,是則返回true;所有對象都是Object對象的后代,所以任何對象和Object做instanceof都會返回true

 

·


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM