Monday, April 13, 2020
When Writing Custom JavaScript, the Defer Attribute is Usually Better Than the OnError Attribute?
When Writing Custom JavaScript, the Defer Attribute is Usually Better Than the OnError Attribute?One of the most popular questions I am asked by the JavaScript developers I teach online is 'when writing custom JavaScript, the defer attribute is usually better than the onerror attribute.' I usually find that most developers try to use the defer attribute as a shortcut for 'don't wait until I return from my function or setTimeout' and that they often have an issue with forgetting to use it. What I want to point out to them is that it is easy to just get distracted and forget to use it. If you are getting very frustrated with someone because they aren't following your advice, I will explain the 'onerror' to 'defer' debate in more detail below.In a nutshell, when programming in JavaScript, the defer attribute is meant to prevent the default event from occurring and instead make it a deferred event. When this happens, the function being executed is called a scope. When the scope is comple ted, it immediately returns. So if you are using a scope and you are using the error method on your function, what you are actually doing is setting the caller of the function to be a function that is not executed when the error is returned by the scope. Instead, it just executes a function that is inside the scope.So when writing custom JavaScript, the defer attribute is usually better than the onerror attribute. When the defer attribute is used, there is a way to tell the browser that the scope was completed before the error returned from the scope, which allows it to execute the code that you wrote even if the error failed.The way to do this is to use the defer attribute with the error parameter. When the defer attribute is being used, you can tell the browser that the scope has completed as soon as the error is returned. This prevents the error function from ever returning to the caller. This is a way to make sure that the caller of the function gets the code that they asked for .When you use the defer attribute with the error parameter, the caller can then be guaranteed that the error handler they get will be executed. But the error must return to the scope that was returned from. It cannot continue to remain in the caller's scope. If it continues to remain in the scope it is then executed, not the handler.I was watching a video recently where the host and I were talking about this. In the process of discussing this and the defer attribute, he referred to a very interesting JavaScript online tutorial that I had never heard of. So I decided to take a look at the tutorial and to see what I could learn.In the tutorial, the author explained exactly why the defer attribute is often better than the onerror attribute. He discussed how the onerror attribute could cause more problems than it solves. There are situations where the default event is not called by the user but instead the browser calls a function that has been stored in the error handler. The most comm on example would be if a script has been run in a page and the user doesn't have any JavaScript running on their page yet, then their error handler executes the default event.This does not allow the developer to see the default event being called since the onerror event handler is still executing the code that was stored in the default event handler function. By using the defer attribute, it causes the default event to be executed in the error handler only when the user requests that it be executed. This prevents the default event from ever returning to the caller.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment