函数自执行的错误与正确示范

[1]函数表达式

  [1.1]引用执行

var foo = function(){
    alert(1);
};
foo();//弹出1

  

  [1.2]传参执行

var foo = function(i){
    alert(i);//弹出1
}(1);

[2]三种函数自执行的错误写法
  [2.1]出错提示函数声明需要一个名字

function(){
    alert(1);
}();

  [2.2]出错提示少右括号

function abc(){
    alert(1);
}();

  [2.3]无错,但foo函数未执行

function abc(){
    alert(1);
}(1);

[3]两种函数自执行的正确写法

  [3.1]

(function(){
    alert(1);
}());//弹出1

  [3.2]

(function(){
    alert(1)
})();//弹出1

[4]两种函数自执行传参的写法

  [4.1]    

(function(i){
    alert(i)
})(0);//弹出0

  [4.2]

(function(i){
    alert(i)
}(0))//弹出0
时间: 2024-11-08 23:17:13

函数自执行的错误与正确示范的相关文章

getJSON回调函数不执行问题?

利用getJSON异步请求时,回调函数不执行,不知道是什么问题? php 返回数据 header("Content-type:text/json"); echo json_encode(array("href"=>"car.php","status"=>"ok")); 不知怎么回事,alert都不执行! getJSON("car.php",{act:"insert&

匿名函数自执行原理和instanceof运算符执行原理

今天收到RSS订阅中有一篇<Javascript – Arraylike的7种实现>,看第一种实现方式是,瞬间被!function(){}()这种匿名函数自执行方式给亮瞎了眼睛.这种写法绝对是装逼神器,代码如下: 1 !function () { 2 //通过闭包实现 3 var List = function () { 4 var list = [], 5 self = { 6 constructor: List, 7 //如果希望更像原生一点,将length定义为属性,那么length则需

学习js函数--自执行函数

我在写代码时候经常会在tpl的<script>里写类似的代码: $(function(){ alert("我好饿"); }); 刚开始的时候只知道写了它不需要调用,直接执行,就这样依葫芦画瓢,我写了很多代码.说道这,还要说说这货的加载顺序,如果把代码直接写到script标签里,当页面加载完这个script标签就会执行里边的代码了.如果在这代码里用到了未加载的dom或者调用了未加载的方法,是会报错的.言归正传,这个函数其实就是自执行函数,很多人会比较专业地称为"立即

多玩YY语音的面试题:C++中如何在main()函数之前执行操作?

第一反应main()函数是所有函数执行的开始.但是问题是main()函数执行之前如何执行呢? 联想到MFC里面的 C**App类的theApp对象,其执行顺序就在main函数之前.道理相通,顺理推下,能够想到:如果在main函数之前声明一个类的全局的对象.那么其执行顺序,根据全局对象的生存期和作用域,肯定先于main函数. 示例如下: class simpleClass { public: simpleClass( ) { cout << "simpleClass construct

strcat函数造成的段错误(Segmentation fault)

转自:http://book.51cto.com/art/201311/419441.htm 3.21  strcat函数造成的段错误 代码示例 int main() { char dest[7]="12345"; char* src = "abcdefghigklmnopqrstuvwxyz"; strcat(dest, src); cout << "dest:" << dest << endl; retur

$.getJSON() 回调函数没有执行的原因

$.getJSON() 方法使用 AJAX 的 HTTP GET 请求获取 JSON 数据. 语法 $.getJSON(url,data,success(data,status,xhr)) url必填规定请求发送到那个url: data可选规定发送到服务器的数据: success可选data包含服务器返回的数据, status包含请求的状态,("success"."notmodified"."error"."timeout".

Cocos2d-x执行时错误:Cocos2d: Get data from file(xxx.xxx) failed!

取资源图片时遇到执行时错误: Cocos2d: Get data from file(xxx/xxx.xxx) failed! 原因是我加入资源目录的方式不正确,例如以下图,我选择的是在Resource中加入Group.这样加入完menuscene目录是黄色的,我在代码中引用资源时路径是"menuscene/background.png",可是在项目看来menuscene并非一个真实存在的Folder,而是一个Group,所以会找不到. 解决方法是加入文件时选择Create folde

用JDBC编程的执行时错误及其解决大全

用JDBC编程的执行时错误及其解决 用JDBC编程的执行时错误及其解决 源码: 1.java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver 1.1 错误信息: 1.2 错误描写叙述 1.3 错误解决方法 2.用户 'sa' 登录失败 2.1 错误信息: 2.2 错误描写叙述 2.3 错误解决方法 3.Invalid parameter binding(s) 3.1 错误信息: 3.2 错误描写叙

Scala 中 构造函数,重载函数的执行顺序

在调试scala在线开发教程(http://www.imobilebbs.com/wordpress/archives/4911)的过程中看到了以下代码,但是这段代码无论怎么调试都无法成功. 1 abstract class Element{ 2 def contents:Array[String] 3 val height:Int = contents.length 4 val width:Int = if(height==0) 0 else contents(0).length 5 } 6