建構函式new執行與直接執行的區別

2022-02-21 13:59:22 字數 707 閱讀 3652

//

建立乙個test構造

function

test();

//this 指向 test

test.prototype.init = function

()//

this 指向 window

function

init()

//直接執行

var t = test(); //

this is window

var test = new test(); //

this is test

另補充一點:

建構函式返回值的問題

如果乙個函式的返回值是引用型別(陣列,物件或者函式)的資料,那麼這個函式作為建構函式用new運算子執行構造時,運算的結果將被它的返回值取代,這時候,建構函式體內的this值丟失了,取而代之的是被返回的物件;

//

建立乙個test構造

function

test();

};console.log(

new test() ); //

object {}

//建立乙個test構造

function

test();

console.log(

new test() ); //

test

參考**:

linux直接執行py檔案

1.首先建立好檔案 cd 到需要放置的目錄下 touch mytest.py 2.編輯mytest.py vi mytest.py 在裡面新增內容 usr bin env python 然後新增需要新增的 print hello,world 然後進入命令模式,wq儲存退出vi 3.更改mytest....

Android Studio直接執行影響啟動效能

之前eclipse時代,測試空應用啟動效能時,都是直接在ide中啟動,這樣修改起來方便。到了android studio時代,這個習慣被我保持下來了。結果就被instant run功能給小小坑了一下。後來列印了一下backtrace,原來是這樣的 183 184 hide 185 186 packa...

如何直接執行python檔案

1.在windows上是不能直接執行python檔案的,但是,在mac和linux上是可以的,方法是在.py檔案的第一行加上乙個特殊的注釋 usr bin env python3 print hello,world 然後,通過命令給hello.py以執行許可權 chmod a x hello.py就...