var global = (function () { return this || (1, eval)('this'); }())这个怎么理解? 我想问下,什么情况下this不存在,要用到(1, eval)('this'); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在非ie浏览器下,用这个方法可以直接访问全局变量var t = 1;function ty(){ var t = 2; alert((1, eval)('t'));//在非ie浏览器下会输出 1,ie浏览器下会输出 2}ty(); 能不能先回答我问的javascript语法问题? var global = (function() { return this || (1, eval)('this');}());function() { return this || (1, eval)('this');}后面的小括号是什么意思?最外面的小括号是什么意思? 详细研究过Javascript代码库(如Jquery、YUI)的人,一定会看到过很多如下形式的函数: (function(){...}())或 (function(){})() 对于很多初学者来说,遇到它们经常会产生一系列问号:这是编程吗,用它做什么,怎么我没在其他语言里见过呢? 接下来我就详细地解释一下: 它可以解释成为“匿名函数自调用”,也就是说,定义一个匿名函数,然后马上调用它(因为它是匿名的,如果不立即调用就获取不到该函数的引用了)。通常它被应用在一些大型的JS框架中(如上面所说的),因为这个匿名函数的函数体相当于提供一个匿名的名字空间,这样就不会再与用户自定义的JS函数、变量、对象发生冲突了。尽管JS没有显示地提供命名空间的定义和使用机制,但这种匿名方式却不失为是一种很好的解决命名空间问题的方法。 所以说,(function(){代码})()就等于执行了一个函数,只不过它是匿名的而已。http://blog.csdn.net/zp324/article/details/7479038 这样看清不清楚function A(){ return this;}var $a = A;var global = ($a)(); var B=Avar global=A();var global=($a)();var global=(B());这三种都是一样的? 是一样,不过匿名函数,必须要用()或其他符号,来确定他是一块整体的东西。才能运行。你那代码就是运行一个匿名函数,来确定this是谁。 是确保返回的一定是全局对象window吧?继而可以通过global来访问各种全局变量 在一个面页里同时加载了 onmousedown 事件和onclick 事件? ie8 window.open 菜鸟想问一个jquery的简单问题!!! frame框架获取get参数有困难 javastript 显示与隐藏 请麻烦解决一下与菜单相关的问题 eval创建变量 ●2个script,在2003sp1上运行总是提示“未指明的错误”,请高手帮我解决!在线等!谢谢! 天猫的颜色选择效果怎么 HTMLElement一问 请问淘宝发布商品的时候 那个sku效果如何实现 正则表达式
function ty()
{
var t = 2;
alert((1, eval)('t'));//在非ie浏览器下会输出 1,ie浏览器下会输出 2
}
ty();
return this || (1, eval)('this');
}());
function() {
return this || (1, eval)('this');
}后面的小括号是什么意思?最外面的小括号是什么意思?
http://blog.csdn.net/zp324/article/details/7479038
function A(){
return this;
}
var $a = A;
var global = ($a)();
var global=A();
var global=($a)();
var global=(B());
这三种都是一样的?
是确保返回的一定是全局对象window吧?继而可以通过global来访问各种全局变量