您的位置:首页 > Web前端 > JavaScript

javascript 冒号使用说明

2012-08-09 18:05 246 查看
JavaScript中冒号(:)是做什么的?你可能经常看到这的写法:

<div onclick="javascript:alert('test')">test</div>

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

<div onclick="xxoo:alert('test')">test</div>

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

labelName:statement

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

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

1、switch语句分支
2、?:三元表达式的false
3、声明对象直接量的成员
4、声明标签

对象直接量我们也经常用,什么是对象直接量呢?
对象直接量(也称为对象初始化程序)是由一个列表构成的,这个列表的元素是用冒号分隔的属性/值对,元素之间用逗号隔开了,整个列表包含在花括号之中。
javascript中的对象可以像C#、JAVA这些面向对象的语言中的对象一样,拥有属性和方法。
我们创建javascript对象有很多种方法,例如,你可以用Object创建,

var obj1 = new Object();
obj1.X = "20px";
obj1.Y = "30px";
obj1.myFunction = function() { alert("我是一个方法!"); };
obj1.myFunction();


用对象直接量创建一个对象:

var obj2={
X:"20px",
Y:"30px",
myFunction:function(){alert("我是一个方法!");}
}
obj2.myFunction();


当然你也可以先写个类似Class类的东西然后用构造函数创建:


function myClass(x, y) {
this.X = x;
this.Y = y;
}
myClass.prototype.myFunction=function(){
alert("我是一个方法!");
}
var obj3 = new myClass("20px", "30px");
obj3.myFunction();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: