練習題 js函式

2022-05-06 12:57:14 字數 2254 閱讀 8960

**貼出來

1		function cat() 

3 return this;

4 }

5 cat.getcolor = function()

6 cat.prototype.getcolor = function()

7 var getcolor = function()

8 function getcolor()

910 // 輸出結果

11 cat.getcolor();

12 getcolor();

13 cat().getcolor();

14 getcolor();

15 new cat.getcolor();

16 new cat().getcolor();

17 new new cat().getcolor();

首先我們來理理這些**的執行順序:

先宣告1、var getcolor [7]

2、function cat() [1]

3、function getcolor() [8]

接下來順序執行**

4、cat.getcolor = function() [5]

5、cat.prototype.getcolor = function() [6]

6、getcolor = function() [7]

7、cat.getcolor(); [11]

8、getcolor(); [12]

9、cat().getcolor(); [13]

10、getcolor(); [14]

11、new cat.getcolor(); [15]

12、new cat().getcolor(); [16]

13、new new cat().getcolor(); [17]

所以,cat.getcolor() //2

∵根據4,cat.getcolor被賦值了乙個function,現在執行這個function則列印出2.

【涉及物件的靜態方法】

getcolor() //4

∵根據6,getcolor被賦值了乙個function,現在執行這個function則列印出4.

【涉及變數的宣告和賦值】

cat().getcolor() //1

∵這個是先執行cat(),再點上getcolor的;cat()之後是返回this,cat沒有被例項化,所以this是window,同時因為cat()執行之後getcolor被重新賦值,所以列印出1.

【涉及函式的執行、變數作用域、this】

getcolor() //1

∵前面的**把getcolor改變了,所以列印了1

【涉及變數的賦值】

new cat.getcolor();//2

這個先執行cat.getcolor()

可以這麼理解:

var a = cat.getcolor;   // a = cat.getcolor = function()

new a(); //列印2

【涉及變數的賦值、物件的例項化】

new cat().getcolor();//3

這個先new cat(),例項化了,例項化的getcolor()是cat.prototype.getcolor = function()

可以這麼理解:

var a = new cat();        // 例項化cat

a.getcolor(); // 例項執行這個:cat.prototype.getcolor = function()

【涉及物件的例項化,例項的原型方法】

new new cat().getcolor();//3

這個先new cat(),例項化了,例項化的getcolor()是cat.prototype.getcolor = function(),再new

可以這麼理解:

var a = new cat();        // 例項化cat

var b = a.getcolor; // 例項執行這個:b = cat.prototype.getcolor = function()

new b(); // 列印3

【涉及變數的賦值,物件的例項化,例項的原型方法】

函式練習題

1.打字軟體的正確率 編寫函式,計算字串匹配的準確率,類似於打字軟體 orginstr為原始內容,userstr為使用者輸入內容 2.模擬輪盤 遊戲 轉盤分為三部分 一等獎 二等獎和三等獎 輪盤轉的時候是隨機的,如果範圍在 0,0.08 之間,代表一等獎 如果範圍在 0.08,0.3 之間,代表二等...

js練習題(一)

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。var addtwonumbers fun...

JS語句練習題

var a prompt 輸入乙個數字 var b prompt 輸入乙個 中的任意運算子 var c prompt 再輸入乙個數字 if b else if b else if b else 方法二 var a prompt 輸入乙個數字 var b prompt 輸入乙個 中的任意運算子 var...