< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
文法
這段代碼用到的文法:
什麼是對象?對象是一種複合資料類型,他們将多個資料值集中在一個單元中,而且允許使用名字來存取這些值。解釋對象的另一種方式是,對象是一個無序的屬性集合,每個屬性都有自己的名字和值。存儲在對象中的已命名的值既可以是數字和字元串這樣的原始值,也可以是對象。Javascript對象本質上一個化裝了的關聯數組,由以名字作為鍵的字段和方法組成。對象是由運算符new建立的。在這個運算符之後必須有用于初始化對象的構造函數名。建立一個新的javascript對象的最簡單的方法是調用object内建的構造函數:
var myObject=new Object;
使用JSON.JSON是語言的一個核心特征,他提供了一種建立數組和對象圖(object graph)的簡單機制。為了了解JSON,需要知道javascript是如何工作的。我們首先來讨論一些關于他們的基礎知識。Javascript有一個内建的array類,可以使用new關鍵字初始化:
var book=new Array();
數組有按照數字來配置設定的值,就像C和JAVA的數組一樣:
book[4]=”100個感動中國的自考人”
數組也可以使用一個健值來關聯,就像JAVA的map一樣。實際上這可以用于任何javascript對象:
book[“BestSeller”]=”100個感動中國的自考人”
建立一個數字索引的數組的快捷方法是使用方括号,将所有的成員寫成一個用用逗号分隔的值的清單,就像這樣:
book=[“ajax基礎”,”ajax實戰”,”ajax黑客”]
為了建立javascript對象,我們将對象屬性說明放在大括号中,其中的屬性說明由逗号隔開。對象直接量中每個屬性說明都由屬性名加上冒号和屬性值構成。例如:
book={
BestSeller:”100個感動中國的自考人”,
cookbook:”湘菜烹制大全”
}
函數直接量是用關鍵字function後加可選的函數名、用括号括起來的參數清單和用花括号括起來的函數體定義的。簡言之,函數直接量看起來就像個函數定義,隻不過沒有函數名。他們之間最大的差别是函數直接量可以出現在其他javascript表達式中。例如:
var square=function(x){return x*x}
代碼解析及其使用方法
下面我們來解析prototype第一段代碼。好長的一段代碼,為了便于了解,讓我們把這段代碼簡化一下----略去其中的部分細節:
var Prototype = {
Version: '1.5.1',
Browser: {
值
},
BrowserFeatures: {
ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>',
JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/,
emptyFunction: function() { },
K: function(x) { return x }
這段代碼的意思就是建立了一個名字為Prototype的對象。該對象有七個屬性:Version, Browser,BrowserFeatures,ScriptFragment,JSONFilter,emptyFunction,K
Version
Version(版本)屬性的值為“1.5.1”,表示目前版本是1.5.1。
Browser
Browser屬性的值是一個對象。該對象是:
{
IE: !!(window.attachEvent && !window.opera),
Opera: !!window.opera,
WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1
}
作用是嗅探目前使用的所使用的浏覽器。讓我們來看看在prototypeAPI文檔(下文簡稱文檔)是怎樣描述該屬性的:
Detects the current browser and returns an object
Possible Tests:
Prototype.Browser.IE
Prototype.Browser.Opera
Prototype.Browser.WebKit // Safari
Prototype.Browser.Gecko
Examples
In case you are viewing in Mozilla:
Prototype.Browser
//-> Object: IE=false Opera=false WebKit=false Gecko=true
if(Prototype.Browser.Gecko) {
alert("It's a Gecko!")
譯文:
作用:探測目前的浏覽器并傳回一個對象
允許的測試:
例子
萬一你正在觀察Mozilla浏覽器
//-> 對象: IE=false Opera=false WebKit=false Gecko=true
本文轉自 netcorner 部落格園部落格,原文連結:http://www.cnblogs.com/netcorner/archive/2007/08/16/2912306.html ,如需轉載請自行聯系原作者