JavaScript中冒号(:)是做什么的?

转自:http://i.wanz.im/2010/04/09/one_new_point_to_colon/comment-page-1/?replytocom=1429

JavaScript中冒号(:)是做什么的?你可能经常看到这的写法:

你可能很习惯认为这是一个伪协议,意思是使用JavaScript语法解析后面的代码,在a标签的href中才是伪协议!那么如果这个代码变成这样呢:

你可以试试,代码并不会出错,因为在JavaScript中这样的写法是合法的。其语法是:

labelName:statement

实际上,在onclick或onmouseover这样的属性的值是一段JavaScript代码片段,因此刚才的代码也是合法的,可执行的。

在JavaScript中,我们常见的使用冒号(:)的情况有:

1,对象表达法
冒号在这里用来分割对象的属性和属性值。

2,三目运算
冒号在这里用来分割不同条件的返回值。

3,分支语句
冒号在这里用来分割被罗列的switch中表达式的值和对应的代码块。

上面的情况很常见,而且大家并不陌生,那么一开始我们讲到的写法又是什么意思呢?

labelName:statement

这种是标签的写法,如果你略懂windows中的批处理,你应该一下就知道它的作用,在批处理中,标签用来标识代码位置,在需要改变代码流程的时候,可以goto labelName来实现指定的跳转。而JavaScript中它的功能也与此类似,你可以用标签来标识一个循环,然后用break或continue来改变程序的执行流程。我们来看下下面的例子:


标签名可以使用合法的JavaScript标识符而不能是保留字。

因此,到这里我们就清楚了像

这样的写法实际是标签的写法,至于在这里使用标签有没有实际意义就看个人在实现某些效果的时候是否要用标签来区分某些结果了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值