`

定义js函数,并让其立即执行

阅读更多
见如下代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
 <script>
(
	function(){    
		 alert("run immediate!")    
	}
)(); 
 </script>
 </HEAD>

 <BODY>
  
 </BODY>
</HTML>

以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的。
var ie = !+"\v1"; 
仅仅需要7bytes!参见这篇文章,《32 bytes, ehr ... 9, ehr ... 7!!! to know if your browser is IE》,讲述外国人是如何把IE的判定从32 bytes一步步缩简成7 bytes!的故事

但这纪录今年1月8日被一个俄国人打破了,现在只要6 bytes!它利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。详见这里 恭喜你,Aleko ,你真是我的偶像!

var ie = !-[1,]; 

Js代码
var ie = !-[1,];   
   alert(ie);  

var ie = !-[1,];
   alert(ie); 

如果从非IE的角度判定,可以省一个比特,因为我们做兼容时,绝大多数情况都是IE与非IE地开工。

转自:http://www.iteye.com/topic/654801
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE>判断浏览器的类型</TITLE>
<script>
 (function isIE(){
  if(-[1,]){   
     alert("这不是IE浏览器!");   
}else{   
     alert("这是IE浏览器!");   
}  
})();
  </script>
 </HEAD>
 <BODY>
 </BODY>
</HTML>
分享到:
评论
2 楼 duqiangcise 2011-12-21  
(function() {}) 外面的括号是个强制运算符,结果是返回那个匿名函数,最后一个括号用来执行该函数.
1 楼 perfee 2011-03-02  
求楼主解释下

相关推荐

    JavaScript中立即执行函数实例详解

    js立即执行函数可以让你的函数在创建后立即执行,js立即执行函数模式是一种语法,可以让你的函数在定义后立即被执行,这种模式本质上就是函数表达式(命名的或者匿名的),在创建后立即执行。 ( function(){…} )()和...

    js中的立即执行函数1

    IIFE(立即调用函数表达式)IIFE( 立即调用函数表达式)是一个在定义时就会立即执行的 JavaScript 函数。示例当函数变成立即执行的函数表达式时,

    JS匿名函数、闭包

    匿名函数,也称为拉姆达函数,是一种使用JavaScript函数的强大方式。以下总结了匿名函数的特点: 任何函数表达式从技术上说都是匿名函数,因为没有引用它们的确定的方式; 在无法确定如何引用函数的情况下,递归...

    JS立即执行的匿名函数用法分析

    本文实例讲述了JS立即执行的匿名函数用法。分享给大家供大家参考,具体如下: ;(function() {})(); 1.他叫做立即运行的匿名函数(也叫立即调用函数) 2.当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名...

    深入解析JavaScript中的立即执行函数

    立即执行函数模式在JavaScript中可以让你的函数在定义后立即被执行,下面我们就来深入解析JavaScript中的立即执行函数,需要的朋友可以参考下

    深入理解javascript中的立即执行函数(function(){…})()

    ( function(){…} )()和( function (){…} () )是两种javascript立即执行函数的常见写法,最初我以为是一个括号包裹匿名函数,再在后面加个括号调用函数,最后达到函数定义后立即执行的目的,后来发现加括号的原因...

    JavaScript函数定义方法实例详解

    本文实例讲述了JavaScript函数定义方法。分享给大家供大家参考,具体如下: JavaScript 函数定义方法 函数声明 在之前的教程中,你已经了解了函数声明的语法 : function functionName(parameters) { 执行的代码 } ...

    js 在定义的时候立即执行的函数表达式(function)写法

    如果不需要显示调用函数, 让这个函数在定义的时候就执行的话, 该如何写才可以呢,接下来将详细介绍实现步骤,感兴趣的朋友可以了解下

    详解JS中的立即执行函数

    1.匿名函数不能单独定义,必须进行赋值操作或者立即执行,否则会被JS引擎定义为语法错误 function(){alert&#40;dada&#41;;} VM229:1 Uncaught SyntaxError: Unexpected token 2.在函数体后面加括号就能立即调用,...

    JavaScript 函数定义

    JavaScript 函数定义 JavaScript 使用关键字 function 定义函数。 函数可以通过声明定义,也可以是一个表达式。 函数声明 在之前的教程中,你已经了解了函数声明的语法 : function functionName(parameters) { ...

    js 立即调用的函数表达式如何写

    如果不需要显示调用函数, 让这个函数在定义的时候就执行的话, 该如何写才可以呢,接下来将详细介绍实现步骤,感兴趣的朋友可以了解下 1.前言 函数需要先定义,后使用。 这基本上所有编程语言的一条铁的定律。 一般...

    JS立即执行函数功能与用法分析

    主要介绍了JS立即执行函数功能与用法,结合实例形式分析了立即执行函数的相关概念、定义、使用方法及操作注意事项,需要的朋友可以参考下

    关于js函数解释(包括内嵌,对象等)

    当我们这么定义函数的时候,函数内容会被编译(但不会立即执行,除非我们去调用它)。而且,也许你不知道,当这个函数创建的时候有一个同名的对象也被创建。就我们的例子来说,我们现在有一个对象叫做“add”(要更...

    javascript面象对象编程

    函数声明后加括号 – 创建完成后立即调用执行 函数对象和其它内部对象的关系 – 对于Function, Object, Array, Date, RegExp, Math, Error等内部对象 可使用new操作来返回一个对象实例 三、类 1. 实现 2. 公有成员,...

    js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?

    定义只是让解释器知道其存在,但是不会运行。 foo(); // 这是语句,Statement;解释器遇到语句是会运行它的。 IIFE 并非必须,传统一点可以这么写: 复制代码 代码如下: function foo() {…} foo(); 那么为什么要...

    singleton-js:包装函数,用于从类生成单例

    使用Singleton JS方法,您可以将一个单例定义为延迟实例化或立即实例化,但是以与常规类相同的方式(例如new MySingleton() )对待它,并始终返回相同的实例!原料药单例(类[,选项]) 从一个类创建一个单例。 ...

    JavaScript笔记

    JavaScript:定义行为和动作 (基于对象和事件驱动的客户端脚本语言;也是一种广泛应用于客户端Web开发的脚本语言) 基于对象:网页中的一切元素都是假象!不需要new,即可直接使用 事件驱动:JavaScript的执行都是...

    创建一般js对象的几种方式

    1.对象字面量创建对象 var obj = { a:1,b:2 }; 注意:对象字面量是一个表达式,这种表达式每次运算...js中原始类型都包含内置的构造函数,也可以自己定义构造函数。 3.通过立即执行函数创建对象 var obj = (function

Global site tag (gtag.js) - Google Analytics