日期:2014-05-16 浏览次数:20391 次
javascript的冒号有三种使用情况
1、switch语句
????
switch(n)
{case 1:
执行代码块 1break
case 2:
执行代码块 2break
default:
如果n即不是1也不是2,则执行此代码 }
工作原理:switch 后面的 (n) 可以是表达式,也可以(并通常)是变量。然后表达式中的值会与 case 中的数字作比较,如果与某个 case 相匹配,那么其后的代码就会被执行。break 的作用是防止代码自动执行到下一行。
<script type="text/javascript"> //You will receive a different greeting based //on what day it is. Note that Sunday=0, //Monday=1, Tuesday=2, etc. var d=new Date() theDay=d.getDay() switch (theDay) { case 5: document.write("Finally Friday") break case 6: document.write("Super Saturday") break case 0: document.write("Sleepy Sunday") break default: document.write("I'm looking forward to this weekend!") } </script>
?
2、三元表达式的false
???? z=x>y?true:false
3、声明对象直接量的成员
???? 对象直接量(也称为对象初始化程序)是由一个列表构成的,这个列表的元素是用冒号分隔的属性/值对,元素之间用逗号隔开了,整个列表包含在花括号之中。javascript中的对象可以像C#、JAVA这些面向对象的语言中的对象一样,拥有属性和方法。 我们创建javascript对象有很多种方法,例如,你可以用Object创建,
详细出处参考:http://www.jb51.net/article/18465.htm
?
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构造函数实现,prototype
function myClass(x, y) { this.X = x; this.Y = y; } myClass.prototype.myFunction=function(){ alert("我是一个方法!"); } var obj3 = new myClass("20px", "30px"); obj3.myFunction();
?
4、声明标签
脚本语言有很多,除了javascript之外,我们也可以用其它脚本语言来实现javascript所能实现的功能;
例:
<input type="button" onclick="vbscript:vbFunction()" value='按钮'/>
当点击按钮时就会用vbscript语法去执行你用vbscript定义的vbFunction方法;
如果把onclick后面的vbscript:vbFunction(),改成javascript:vbFunction();就会出错。
这些声明你也可以不写直接调用方法,
<input type="button" onclick="vbFunction()" value='按钮'/>
这时onclick中的方法, 无论你用vbscript还是javascript,IE浏览器会自行识别,用相应的语法去执行,当然其它浏览器是不支持vbscript的.
平时我们用javascript习惯上是加声明的,也就是"javascript:",
<input type="button" onclick="javascript:alert('你点击了我!')" value='按钮'/>
"javascript:"经常被那些自称黑客的人们利用,利用"javascript:"绕过一些简单的或者更高级一点的html表单限制及cookie/session验证;以及SQL注入.如果想了解可以到别的地方查,不过学会千万不要搞破坏啊,哈哈
做个简单的小例子:
首先打开www.baidu.com百度的首页,然后直接把下面这句复制到浏览器的地址栏中,按回车,
javascript:alert(document.forms[0].wd.value='csdn');document.forms[0].submit()
效果怎么样呢?不错,我们利用javascript直接操作了搜索框中的文本,还有执行了表单的提交,更复杂的操作,可以自己研究。
详细出处参考:http://www.jb51.net/article/18465.htm