`
san_yun
  • 浏览: 2610302 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

有趣的javascript 匿名function

    博客分类:
  • java
阅读更多
function是个关键字,
之前我们都认为他是一个函数声明,其实在JS里面它也可以是一个函数表达式。

而当解析器遇到function时 把它理解为什么完全取决于"上下文"

function位于一行开始时 解析器总是认为它是一个声明

解析完函数声明如果又遇到括号 就会认为语法错误 这就是Aiming所说的:
function(){alert(1)};
();


而加入括号以后解析器遇到括号就进入了一个表达式的上下文 function自然就被理解为函数表达式的开始了:
(function(){alert(1)})
();


所以同样道理,以下形式也是不会报错的:
void function(){alert(1)}();
+function(){alert(1)}();
-function(){alert(1)}();
++function(){alert(1)}();
--function(){alert(1)}();
typeof function(){alert(1)}();


javascript作为一种类似LISP的面向函数的语言,有一些细微的小特性等待大家发掘。
分享到:
评论
1 楼 ynstudio 2010-02-08  
javascript是满好玩的,只是平时我用的还是少,即便有些知识是了解的,也还没建立起javascript的思维方式。
除了函数,javascript的基于原型的面向对象,以及把函数当做一个可执行的普通对象,或则结合c的函数指针理解,很多内容都很通顺。可我平时写程序还是java的编程思维。

function a(){
alert('1')
}
window["a"]();
var b = a;
b();


function c(){
return function(){alert("2")};
}
c()();

相关推荐

    javaScript匿名函数

    JavaScript 匿名函数详解 JavaScript 中的匿名函数是一种灵活的对象,它们没有函数名,然而它们的应用场景却非常广泛。本文将对 JavaScript 匿名函数的定义、创建、调用方式、闭包的概念等进行详细的介绍。 一、...

    javascript匿名函数应用示例介绍

    javascript匿名函数,就是说个函数没有名字,下面先列出测试代码 代码如下: /* * 一般常见函数是这样 */ function debug(data) { console.log(data); } 但有的函数,它却偏偏写成了这样 代码如下: (function(x, y) {...

    Javascript自执行匿名函数(function() { })()的原理浅析_.docx

    Javascript自执行匿名函数(function() { })()的原理浅析_.docx

    JavaScript 匿名函数(anonymous function)与闭包(closure)

    JavaScript 匿名函数(anonymous function)与闭包(closure) ,学习js的朋友可以参考下。

    javascript匿名函数中的'return function()'作用

    主要介绍了javascript匿名函数中的'return function()'作用介绍,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    JavaScript程序设计课件:匿名函数.pptx

    JavaScript程序设计 匿名函数 5.5 匿名函数 函数表达式 概念:所谓函数表达式指的是将声明的函数赋值给一个变量,通过变量完成函数的调用和参数的传递,它也是JavaScript中另一种实现自定义函数的方式。 5.5 匿名...

    javascript匿名函数中的’return function()’作用

    我最近看到很多javascript代码,看起来我错了.在这种情况下,我应该建议哪种更好的代码模式?我将重现我所看到的代码和每个代码的简短说明: 代码块#1 该代码不应该评估内部函数.程序员会因为代码应该运行而感到困惑. ...

    Javascript自执行匿名函数(function() { })()的原理浅析

    函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数指没有指定函数名或指针的函数,自执行匿名函数只是其中一种,下文中称这种函数为:自执行函数  下面是一个最常见的自执行函数: // ...

    javascript笔记之匿名函数和闭包

    本文介绍了js匿名函数和闭包的相关内容,供大家参考,具体内容如下 匿名函数 [removed] //function(){}//会报错 var fun = function(){};//将匿名函数赋值给变量 (function(){})();//匿名函数自执行 function...

    javascript匿名函数实例分析

    本文实例讲述了javascript匿名函数的用法。分享给大家供大家参考。具体分析如下: 摘要: 本文讲解的是javascript最基础也是最重要的东西–函数,之所以写这篇文章,是因为面试的时候问到了,也算是温故而知新了。 ...

    Javascript中匿名函数的调用与写法实例详解(多种)

    如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数。好,看看匿名函数的如何被调用。 方式1,调用函数,得到返回值。强制运算符使函数调用执行 (function(x,y){ alert(x+y); ...

    JavaScript匿名函数用法分析

    本文实例讲述了JavaScript匿名函数用法。分享给大家供大家参考。具体如下: 一、定义一个函数 在JavaScript中,可以通过“函数声明”和“函数表达式”来定义一个函数,比如 1、通过“函数声明”来定义一个函数 ...

    浅析Javascript匿名函数与自执行函数

    函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。 函数的定义,大致可分为三种方式: 第一种:这也是最常规的一种 function double(x){ return 2 * x; } 第二...

    JavaScript中匿名函数的用法及优缺点详解

    匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染。 这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。 一、什么是匿名函数? 在Javascript定义一个函数一般有如下三种方式...

    Javascript 匿名函数及其代码模式原理

    关于什么是匿名函数,及它带来的优势在本文就不深究了,先抛出一个常用的匿名函数: (function(){alert(‘yo’)})() 很多同学知道怎么用这种匿名函数,却或许并不明白为什么这样写就能够调用匿名函数。也许...

    学习并汇集javascript匿名函数

    古人有”授之以鱼,不如授之以渔” ,...原来这是javascript的匿名函数。 这个匿名函数是什么东西呢?慢慢来学习吧! JavaScript定义一个函数一般有如下三种方式: 1. 函数关键字(function)语句: 代码如下: function

    浅谈JavaScript function函数种类

    主要介绍了JavaScript function函数种类,包括普通函数、匿名函数、闭包函数、十分的全面,并附上了示例,这里推荐给大家,希望对大家能有所帮助。

    JavaScript 编写匿名函数的几种方法

    模式二:优先表达式 (Prior Expression) 由于 JavaScript 按照从内到外的顺序执行表达式,因此使用括号来强制执行已声明的函数。 代码如下: (function(){ // insert code here }()); 模式三:Void 操作符 (Void ...

    详谈JavaScript 匿名函数及闭包

    函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。 1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式 第一种:这也是最常规的一种 代码如下: ...

Global site tag (gtag.js) - Google Analytics