边学边谈 ---- javascript的冒号

来源:互联网 发布:优化经济环境措施 编辑:程序博客网 时间:2024/06/05 12:03

昨天看到一个js  发现 obj={a:"123",b:"abc",objfunction:function(){...}} 这样的语句,有点费解

现在把从书上和网上找到的一点东西贴出来  自用&共享

 

javascript的冒号  用途:

 

1、switch语句分支

 

     switch (s) { 
                  case 条件1:
                         语句1;

                         break; 

                  case 条件2:

                         语句2;

                         break;

                 }

2、?:  三元表达式   

          a>b? "L":"S"

 

3、声明对象直接量的成员

 什么是对象直接量?

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

创建javascript对象有很多种方法,

例如方法一,可以用Object创建,

 
var obj1 = new Object();
obj1.X = "100px";
obj1.Y = "200px";
obj1.myFunction = function() { alert("对象的方法 myFunction() !"); };
obj1.myFunction();

或者方法二
脚本语言有很多,除了javascript之外,也可以用其它脚本语言来实现javascript所能实现的功能;
例:
<input type="button" onclick="vbscript:vbFunction()" value='按钮'/>
当点击按钮时就会用vbscript语法去执行你用vbscript定义的vbFunction方法;
如果把onclick后面的vbscript:vbFunction(),改成javascript:vbFunction();就会出错。

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


var obj2={X:"100px",Y:"200px",myFunction:function() { alert("对象的方法 myFunction() !"); };
obj2.myFunction();

 

用对象直接量创建对象看上去很简洁.

方法三

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


function myClass(x, y) {
this.X = x;
this.Y = y;
}
myClass.prototype.myFunction=function(){
alert("对象的方法 myFunction() !");
}
var obj3 = new myClass("100px", "200px");
obj3.myFunction();


4、声明标签

这些声明你也可以不写直接调用方法,
<input type="button" onclick="vbFunction()" value='按钮'/>
这时onclick中的方法, 无论你用vbscript还是javascript,IE浏览器会自行识别,用相应的语法去执行,当然其它浏览器是不支持vbscript的.
平时我们用javascript习惯上是加声明的,也就是"javascript:"   要有个冒号
<input type="button" onclick="javascript:alert("Clicked me")" value='按钮'/>

原创粉丝点击