Open
Conversation
added 2 commits
May 27, 2018 12:01
…IIFE to scope functions & variables away from the window object. Should improve performance
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
refactored to scope as much as possible. Wrapped entire script in an IIFE to scope functions & variables away from the window object. Should improve performance.
By using
var calcHtmlLink = function() {}instead offunction calcHtmlLink() {}, the function isn't created until it is needed, and can cleanup afterwords. Not only that, it is removed from global scope which when saturated degrades performance.Wrapped the entire function in a (function() {})() for the same reason.
Also went ahead and made all if/else statements use curly braces. I am all for the shorthand, but for best compatibility, we should wrap them.
added
varto some variables. When not declaring var, the js interpreter will elevate/hoist that variable to global scope. It does this as a way to ensure that the program will not crash.