Self invoking functions javascript

后端 未结 6 1496
长发绾君心
长发绾君心 2021-01-19 14:07

I wrote a self invoking function in both firefox and chrome it it wouldn\'t invoke.

I wrote something to the effect of

(function () { alert(\"THE\")         


        
相关标签:
6条回答
  • 2021-01-19 14:23

    That function works. Javascript supports functional programming, so for a browser not to run that code, even for a very old browser that would be absurd. Are you sure that statement is being reached? Try debugging javascript that occurs before that statement.

    0 讨论(0)
  • 2021-01-19 14:23

    This function definitely works. I would check your browser's console for any js errors in your page. Perhaps you could try to put a simple console.log function at the beginning of your script to see if any JavaScript is being called in the first place.

    0 讨论(0)
  • 2021-01-19 14:25

    "Self-invoking functions" are not really a part of javascript, it's just a term that people are calling a specific pattern of code (like AJAX, etc.); these patterns should work anywhere that javascript works.

    What you're calling a "self-invoking function" is just creating an anonymous function and immediately calling it (as opposed to say storing it in a var, as an object value, as a function param, etc.).

    That is, the following are basically the same:

    var f = function(){...}; f()
    

    and

    ( function(){...} )()
    

    So because your 'self-invoking function' is a basic part of javascript, there is no possible way it's not working unless the insides aren't working or your environment is messed up. You could copy-paste your code onto a new blank page, and it would work fine. Something else must be going wrong:

    Check your errors in your dev console. Specifically, check to make sure you don't have a syntax error or that there isn't some weird thing going on with the webpage you're testing it on (e.g. if you somehow redefine alert...).

    0 讨论(0)
  • 2021-01-19 14:33

    I had this issue with a self invoking function which produced this error...

    Uncaught TypeError: object is not a function
    

    The problem was caused by not having a semi colon ending the line before the opening bracket

    0 讨论(0)
  • 2021-01-19 14:37
    <script type="text/javascript">
      (function() {
         alert('Hello World!');
      })();
    </script>
    

    Works in every browser I have installed on this machine.

    0 讨论(0)
  • 2021-01-19 14:37

    This self invoking function with return value will work in all current browsers(Safari, Chrome and Firefox) without issue. This function executes immediately, automatically and anonymously.

    <script type="text/javascript">
        alert((function(){
            return("Hello World");
        })());
    </script>
    
    0 讨论(0)
提交回复
热议问题