1. 程式人生 > >在JS中Function()和this的巧妙運用

在JS中Function()和this的巧妙運用

1.構造器呼叫模式
當我們把一個函式前面帶上new來呼叫,則相同於 java中的實體初始化賦值,函式內建屬性都會賦值

123456789101112131415161718192021functiontest(){this.testName=function(){return"1";}this.testName1=function(num){returnnum;}this.initTest=function(){varts={"nameTest":this.testName(),"name1Test":this.testName1(1),}returnts;}}$(function(){varsss=
newtest();console.info(sss.initTest());});

2.  函式呼叫模式

JS中this指的是全域性變數,假如全域性變數沒有此引數時相當於在此方法中重新定義,如果全域性變數中有此引數那麼this仍然繫結到外部函式的this變數上

1234567891011121314151617181920212223242526functiontest(){this.testName=function(){return"1";}this.testName1=function(num){returnnum;}this.testName2=function(){returnthis;}this
.initTest=function(){varts={"nameTest":this.testName(),"name1Test":this.testName1(1),"name2Test":this.testName2(),}returnts;}}$(function(){varsss=newtest();console.info(sss.initTest());console.info(sss.testName2());});

3. 方法呼叫模式 

當函式繫結到了定義的物件屬性上,其實相當於物件的一個方法,而this被繫結到該物件上