1、(function(){alert('1');})()
麻烦解释下上面那个语法是什么意思?函数没有名字的而且在第一个括号内。感觉像是两个函数。实际上函数里的ALERT会直接执行。
另外这种写法有其特有的目的吗?2、“:”的用法
什么时候“:”会等于赋值?“:”除了 EXP?V1:V2外还有其他用法么?
麻烦解释下上面那个语法是什么意思?函数没有名字的而且在第一个括号内。感觉像是两个函数。实际上函数里的ALERT会直接执行。
另外这种写法有其特有的目的吗?2、“:”的用法
什么时候“:”会等于赋值?“:”除了 EXP?V1:V2外还有其他用法么?
//()执行方法
var t=function(){alert('fuck');}();
(function(){alert('1');})() //个人理解匿名方法
//对象t
var t={
s:1,
show:function(){alert('lets fuck!');}
}
var tt=new t(); //创建实例
alert(tt.s); //属性s
tt.show(); //方法小弟是菜鸟 说错了 欢迎高手指点 在这里献丑了
var t={
s:1,
show:function(){alert('lets fuck!');}
}
alert(t.s); //属性s
t.show(); //方法
上面 笔误了
function(){alert('1');}
)()
表示页面加载就运行
相当于 document.onReady=function(){alert('1');
juqery里是
$(document).ready(
function(){alert('1');}
)
ext里是
Ext.onReady(
function(){alert('1');}
)
:除了在if 判断的时候用,也在赋值的时候用,针对json数据,json是比xml更清量级的数据传输
这句可以直接执行的啊 直接输出1吧
多半是为了让实行的代码闭包.2. 等同于 if(EXP){ x = V1; } else { x = V2; }
":"和赋值没有关系.
什么时候他也不会等于赋值的.
想不出来还有什么其它的用法.
a:1,
b:2,
c:3
}
这是JavaScript的对象格式。在JavaScript中,除了使用构造方法+原型的方式创建对象,也可以直接写一个对象。就是用JSON。这样的写法,就可以这么访问:testObj.a,testObj.b,testObj.c 。Json本身和数据传输没有什么关系,他就是JavaScript本身的对象与语法规则而已,只不过由于其描述简单,而且可以被JavaScript动态解析,所以才被用于数据传输。
8楼说的比较详细,但是“function(){alert('1');} 创建一个Function类型实例,表达式返回函数本身的引用,等价于(function(){alert('1');})”似乎不是等价的。如果将包住这对象的()去掉后。后面的()就运行不了了。
但是后面的()的确是实现了不带参数运行这动作。如果这个匿名函数带参数的话,后面的()也是可以传送参数的。
所以总的来说,7楼的说法比较准确,而且回答了另一个问题。
声明一个匿名函数,并执行它.
多半是为了让实行的代码闭包.
不过如果综合一下8楼的会更加好:
function(){alert('1');} 创建一个Function类型实例,
表达式(function(){alert('1');})返回匿名函数本身的引用,
并在后续的()中以不带参数的方式运行。2、7楼的朋友没看清楚我的问题。“?:”的方式基本上所有编程的人都熟知的。
我的问题是除了这种应用外,“:”还会作为运算符或赋值符存在吗?
而这种用法的确是属于JSON。
详细大家可以参考这里:
http://www.json.org/json-zh.html好了。谢谢大家,按大家的回答给分吧。1楼解释的不够。而且用语不大礼貌。就不给了。
能用到:运算符的地方,貌似就只有JSON里,另外
?:运算符里面:也是个角色,这个应该大家都熟呵,不多说了。