首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

无聊发个有关问题,希望有人能解答

2012-08-25 
无聊发个问题,希望有人能解答闲来无事发现javascript的两个问题,特此请教JScript codeif({}{}){alert(

无聊发个问题,希望有人能解答
闲来无事发现javascript的两个问题,特此请教

JScript code
if({}=={}){    alert('真理永存');}else{    alert('真理何在');}


为何{}!={}呢?

JScript code
(function(){alert(1)})();function(){alert(2)}();


为何第一句话能执行,第二句无法执行?
但是这样写,第二句又没问题
var a = {'a':function(){alert(2)}};


我的javascript没有很系统的学过,有些基础的东西不是太懂,特此请教。

[解决办法]
{}=={} //值为false
因为它俩是没有关系的两个对象
(function(){alert(1)})();
这是闭包写的法,你也可以写成:(function(){alert(1)}());
第一个括号表示里面是一个函数表达式,js解析器在看到‘(function’时,他会认为这是一个函数表达式
第二个括号是函数运算符。

而下面这样写要报语法错误,js解析器在看到‘function’关键字时,他会认为这是一个函数定义,后面加‘()’时它无法识别
function(){alert(2)}();

热点排行
Bad Request.