一、js中call()和apply()方法的區別
1、參數傳遞方式不同
call()
方法的參數是一個一個地傳遞進去的,而apply()
方法的參數則是以數組的形式傳遞進去的。
2、參數個數不同
由于apply()
方法的參數是以數組的形式傳遞進去的,所以可以傳遞不定個數的參數。
而call()
方法則需要明確傳遞參數的個數,如果傳遞的參數個數與函數定義的參數個數不一致,那么多余的參數會被忽略。
3、性能不同
由于call()
方法是一個一個地傳遞參數進去的,所以在傳遞參數較多的情況下,性能會稍微差一些。而apply()
方法則只需要傳遞一個數組,所以在傳遞參數較多的情況下,性能會稍微好一些。