javascript中的有名函数和无名函数

看个例子: 1 


代码如下:

function a(){ 
    alert("我是我们"); 
}

2  


代码如下:

var a = function(){ 
    alert("我是我们"); 
}

1和2的方法是等价的,1是有名函数,而2只是让一个变量指向一个无名函数而已,而1和2在这里是等价的。2可以直接在函数声明后加上括号就表示创建完成后立即进行函数调用。例如:
var  i = function(obj){
    alert(obj);
 }("我是我们");
       另外有名函数和无名函数的重要区别:对于有名函数,它可以出现在调用之后再定义;而对于无名函数,她必须是在调用之前就已经定义。例如下面使用无名函数的错误例子:
i();
var i = function(){
    alert("我是我们");
}
以下才是正确写法:
var i = function(){
    alert("我是我们");
}
i();
或者使用有名函数:
 i();
function i(){
     alert("我是我们");
}

(0)

相关推荐

  • javascript中的有名函数和无名函数

    看个例子: 1  复制代码 代码如下: function a(){      alert("我是我们");  } 2   复制代码 代码如下: var a = function(){      alert("我是我们");  } 1和2的方法是等价的,1是有名函数,而2只是让一个变量指向一个无名函数而已,而1和2在这里是等价的.2可以直接在函数声明后加上括号就表示创建完成后立即进行函数调用.例如: var  i = function(obj){     alert(

  • JavaScript中判断变量是数组、函数或是对象类型的方法

    数组 ECMAScript5中Array.isArray是原生的判断数组的方法,IE9及以上支持.考虑到兼容性,在没有此方法的浏览器中,可以使用 Object.prototype.toString.call(obj) === '[object Array]'替代. 复制代码 代码如下: var isArray = Array.isArray || function(obj) {     return Object.prototype.toString.call(obj) === '[object

  • JavaScript中的50+个实用工具函数小结

    JavaScript可以做很多出色的事情,本篇文章给大家整理50+个实用工具函数,可以帮助你提高工作效率并可以帮助调试代码 1.isStatic: 检测数据是不是除了symbol外的原始数据. function isStatic(value) { return ( typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'undefined'

  • javascript中的绑定与解绑函数应用示例

    Mozilla中: addEventListener的使用方式: target.addEventListener(type, listener, useCapture); target: 文档节点.document.window 或 XMLHttpRequest. type: 字符串,事件名称,不含"on",比如"click"."mouseover"."keydown"等. listener :实现了 EventListene

  • JavaScript中实现PHP的打乱数组函数shuffle实例

    PHP 里面有个非常方便的打乱数组的函数 shuffle() ,这个功能在许多情况下都会用到,但 javascript 的数组却没有这个方法,没有不要紧,可以扩展一个,自己动手,丰衣足食嘛. 请刷新页面查看随机排序效果. 复制代码 代码如下: <script type="text/javascript"> //<![CDATA[ // 说明:为 Javascript 数组添加 shuffle 方法   var shuffle = function(v){     fo

  • javascript中运用闭包和自执行函数解决大量的全局变量问题

    但是从全局看来,这样会导致出现一些让我们难以掌控的情况的出现:变量同名.多个函数共用一个全局变量后的值的变换--等等.所以,有时候,对于一些简单的全局变量,我们可以通过另一种方式来处理--用自执行函数+闭包的方法来解: 比如:我们要在网页加载时给出一个提示,在网页关闭时给出另一个提示 下面的代码,实现了以上功能 复制代码 代码如下: var msg1 = "欢迎光临!"; // 定义一个全局变量 var msg2 = "再见!" //定了另一个全局变量 window

  • JavaScript中isPrototypeOf、instanceof和hasOwnProperty函数的用法详解

    isPrototypeOf 作用:检测一个对象是否是另一个对象的原型.或者说一个对象是否被包含在另一个对象的原型链中 var p = {x:1};//定义一个原型对象 var o = Object.create(p);//使用这个原型创建一个对象 p.isPrototypeOf(o);//=>true:o继承p Object.prototype.isPrototypeOf(p);//=> true p继承自Object.prototype 以上实例来自与<JavaScript权威指南&g

  • 简单分析javascript中的函数

    在脚本语言JavaScript中,函数的定义是由事件驱动或者当它被调用时可重复使用的代码块.在JavaScript的标准ECMAscript中,把函数表述为可以随时随地运行的语句.我个人是不认同ECMA的说法的,因为函数只有在发生调用的时候才会执行,否则就是一段毫无生气的代码. 我们来具体认识认识函数. (一)首先是函数的定义: 在ECMAscript函数的定义是 关键字function 函数名( 参数){主体:return(返回值)};这四部分组成的,但是在脚本语言中函数的定义却分为三种方式定

  • 在JavaScript中使用inline函数的问题

    前段时间被IE和JavaScript脚本引擎的Memory Leak问题弄得郁闷坏了,不过幸好现在总算是柳暗花明了,并且找到了一些IE中使用脚本避免ML问题的方法.继续研究JavaScript的编写,有发现一些不算ML问题,但是可以节约IE内存使用的方法,在此和大家讨论讨论. 我们在JavaScript中编写代码,对于定义函数的语句: function foo(){    // TODO: . . .    return x;} 可以说是在熟悉不过了.当然除了这种定义函数的方法,我们还有另外几种

  • Javascript中的函数声明与函数表达式(奇技淫巧)

    举一个例子: ~function() { alert("hello, world."); }(); [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行] 试一下就知道这段代码的意思就是声明一个函数,然后立刻执行,因为Javascript中的变量作用域是基于函数的,所以这样可以避免变量污染,但这里的位运算符"~"乍一看让人摸不到头脑,如果去掉它再运行则会报错:SyntaxError. 在阐述为什么之前,让我们先来明确Javascript中的两个概念:函数声明和函

随机推荐