javascript call方法和apply方法

2021-08-09 20:56:26 字數 1431 閱讀 1304

1、語法格式

call方法

語法:call(thisobj,arg1,arg2,arg3,...) 第乙個引數為物件,後面緊跟著需要傳入的引數

定義:呼叫乙個物件的方法,以另乙個物件替換當前物件

說明:如果沒有提供 thisobj 引數,那麼global物件被用作 thisobj,同時args可以省略,即call(thisobj)

定義:呼叫乙個物件的方法,以另乙個物件替換當前物件

說明:如果 [arg1,arg2,arg3,...]不是乙個有效的陣列或者不是 arguments 物件,那麼將導致乙個typeerror

如果沒有提供 thisobj 引數,那麼 global物件被用作 thisobj,同時[arg1,arg2,arg3,...]

2、簡單示例

var x = 10;

function a()

a();//此時的this指向global物件

var thisobj =

a.call(thisobj);

//輸出結果:

1020

20

function add(a, b) 

function subtract(a, b)

add(20, 10)

subtract(20, 10)

add.call(subtract, 20, 10)

subtract.call(add, 20, 10)

輸出結果:

3010

3010

3010

3、高階例項

function animal() 

}function cat()

var animal = new animal();

var cat = new cat();

//輸入結果為"cat",將原本屬於animal物件的showname()方法交給物件cat來使用了

animal.showname.call(cat, ",");

//繼承

function animal(name)

}function cat(name)

var cat = new cat("black cat");

cat.showname();

//輸出:black cat

//多次繼承

function subtract()

}function add()

}function union()

var c2 = new union();

c2.showsub(3, 1); //2

c2.showadd(3, 1); //4

關於springCloud中服務方呼叫方的配置

1.我方是服務方,別人呼叫我方,由我方提供位址,不需要呼叫feign。那麼,位址資訊在resourceconfig裡面做配置,resourceconfig中配置的位址相當於是把請求位址暴露給對方,並在此位址請求時對他放行。configuration enableresourceserver publ...

Container DataItem幾種方式

在繫結資料時經常會用到這個句程式 databinder.eval container.dataitem,x 或者 databinder.eval container,dataitem.x 今天又學到一種,而且微軟也說這種方法的效率要比以上兩種高。datarowview container.datai...

Linux Carmer driver註冊方法

最近又開始看carmer的驅動了,在linux下通常實用video4linux框架來實現video capture camera capture等功能,先說一下裝置註冊部分,ov7670.c中,註冊方法如下 static struct v4l2 i2c driver data v4l2 i2c da...