老在眼前晃,於是在網上搜吧,查資料,很鬱悶網上介紹冒號用法的貼子不多,而且比較零碎,也不夠深入,看完讓人更迷糊,折騰了兩天,終於對冒號(:)有了更進一步的瞭解,希望對想瞭解冒號用法的人有所協助。
1、switch語句分支
2、?:三元運算式的false
3、聲明對象直接量的成員
4、聲明標籤
1和2相信地球人都知道吧?如果有人不知道,那我改成地球上的程式員都知道,哈哈
3、對象直接量我們也經常用,什麼是對象直接量呢?
對象直接量(也稱為對象初始化程式)是由一個列表構成的,這個列表的元素是用冒號分隔的屬性/值對,元素之間用逗號隔開了,整個列表包含在花括弧之中。
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();
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直接操作了搜尋方塊中的文本,還有執行了表單的提交,更複雜的操作,可以自己研究。