Get the App
SLTechnology News&Howtos  ›  Development  › 

How to implement apply function by js

Shulou Source: shulou.com Published: 2022-06-01 03:45:47 09月12日 Update

This article mainly introduces js how to achieve the apply function, has a certain reference value, interested friends can refer to, I hope you can learn a lot after reading this article, the following let the editor take you to understand it.

The implementation steps of the apply function:

To determine whether the calling object is a function, even if we are defined on the prototype of the function, it may be called using call and so on.

Determines whether the incoming context object exists, and if not, sets it to window.

Use the function as an attribute of the context object.

Determine whether the parameter value is passed in

Use the context object to call this method and save the return result.

Delete the attribute you just added

Return the result

/ / apply function implementation Function.prototype.myApply = function (context) {/ / determine whether the calling object is a function if (typeof this! = = "function") {throw new TypeError ("Error");} let result = null; / / determine whether context exists, if not passed in, window context = context | | window; / / the method that sets the function as the object context.fn = this / / call the method if (arguments [1]) {result = context.fn (... arguments [1]);} else {result = context.fn ();} / / delete the attribute delete context.fn; return result;} Thank you for reading this article carefully. I hope the article "how to realize the apply function of js" shared by the editor will be helpful to everyone. At the same time, I also hope that you will support us and pay attention to the industry information channel. More related knowledge is waiting for you to learn!

Tags: Functions objects articles upper and lower context properties methods results values interests prototypes parameters at the same time situations ways more friends steps knowledge ribbons Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Redmi Huawei Shulou Technology vpn MySQL