javascript中的有名函数和无名函数_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("我是");
}

时间: 2024-09-20 03:19:13

javascript中的有名函数和无名函数_javascript技巧的相关文章

JavaScript中定义类的方式详解_javascript技巧

本文实例讲述了JavaScript中定义类的方式.分享给大家供大家参考,具体如下: Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象. 一.定义类并创建类的实例对象 在Javascript中,我们用function来定义类,如下: function Sh

浅析Javascript中bind()方法的使用与实现_javascript技巧

我们先来看一道题目 var write = document.write; write("hello"); //1.以上代码有什么问题 //2.正确操作是怎样的 不能正确执行,因为write函数丢掉了上下文,此时this的指向global或window对象,导致执行时提示非法调用异常,所以我们需要改变this的指向 正确的方案就是使用 bind/call/apply来改变this指向 bind方法 var write = document.write; write.bind(docum

浅谈JavaScript中的this指针和引用知识_javascript技巧

this是javascript的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. this指针在传统OO语言中,是在类中声明的,表示对象本身.在JavaScript中,this表示当前上下文,即调用者的引用 ********this永远指向的是(函数对象)的所有者 this和全局对象: var a = 1; function foo(){ var b = 2; console.log(this.a+b);//3 } foo();

javascript中的作用域和闭包详解_javascript技巧

一.JavaScript作用域 JavaScript变量实际上只有两种作用域,全局变量和函数的内部变量.在函数内部任何一个地方定义的变量(var scope)其作用域都是整个函数体. 全局变量:指的是window对象下的对象属性. 作用域划分:基于上下文,以函数进行划分的,而不是由块划分的. 强调两点: 1. 在同一作用域中,JavaScript是允许变量的重复定义,并且后一个定义将覆盖前一个定义. 2. 函数内部如果不加关键字var而定义的变量,默认为全局变量. var scope="glob

参考:关于Javascript中实现暂停的几篇文章_javascript技巧

Javascript顺序执行的实现:http://www.cnlei.org/blog/article.asp?id=297 JavaScript系列-同步还是异步:http://blog.iecn.net/blog/html/do-showone-tid-966.html Javascript中暂停功能的实现 :http://blog.csdn.net/snakegod/archive/2004/09/22/112810.aspx JavaScript Sleep函数 :http://blog

JavaScript中的定时器之Item23的合理使用_javascript技巧

在javascritp中,有两个关于定时器的专用函数,它们是:  1.倒计定时器:timename=setTimeout("function();",delaytime);  2.循环定时器:timename=setInterval("function();",delaytime);  1.定时器概述 window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval.其中前者可以使一段代码在指定时间

Javascript中内建函数reduce的应用详解_javascript技巧

前言 一般而言,可以通过reduce方法实现的逻辑都可以通过forEach方法来变相的实现,虽然不清楚浏览器的js引擎是如何在C++层面实现这两个方法,但是可以肯定的是reduce方法肯定也存在数组的遍历,在具体实现细节上是否针对数组项的操作和存储做了什么优化,则不得而知. 数组的reduce方法的应用 reduce方法有两个参数,第一个参数是一个callback,用于针对数组项的操作:第二个参数则是传入的初始值,这个初始值用于单个数组项的操作.需要注意的是,reduce方法返回值并不是数组,而

javascript中创建对象的几种方法总结_javascript技巧

前言: 随着web 2.0 的兴起(最具代表性的是Ajax技术了),javascript不再是程序员眼中的"玩具语言". 编程在不断的简化,可是"用户体验.性能.兼容性.可扩展......"要求却在不断提高,随之涌现出Prototype.jQuery.ExtJs.Dojo等优秀的框架(类库),大大简化了web开发. 越来越多的人开始深入研究和使用javascript,当然,企业对开发者的要求也越来越高.就拿自己的经历来讲,零几年的时候,我能拿javascript写一

JavaScript中的this关键字使用方法总结_javascript技巧

在javascritp中,不一定只有对象方法的上下文中才有this, 全局函数调用和其他的几种不同的上下文中也有this指代. 它可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式.JavaScript 中函数的调用有以下几种方式:作为对象方法调用,作为函数调用,作为构造函数调用,和使用 apply 或 call 调用. 1.作为对象方法调用 在 JavaScript 中,函数也是对象,因此函数可以作为一个对象的属性,此时该函数被称为该对象的方法,在使用这种调用方式时,this 被

JavaScript中window.open用法实例详解_javascript技巧

本文较为详细的分析了JavaScript中window.open用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <script LANGUAGE="javascript"> window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no,resizable=no,location=no, sta