Prototype 學(xué)習(xí) 工具函數(shù)學(xué)習(xí)($w,$F方法)
更新時間:2009年07月12日 22:12:33 作者:
Prototype $w $F使用方法
$w方法
Splits a string into an Array, treating all whitespace as delimiters. Equivalent to Ruby's %w{foo bar} or Perl's qw(foo bar).
function $w(string) {
if (!Object.isString(string)) return [];
string = string.strip();
return string ? string.split(/\s+/) : [];
}
這個方法就是用空白字符把字符串分成數(shù)組,然后返回。
例子:
$w('apples bananas kiwis') // -> ['apples', 'bananas', 'kiwis']
$F方法
Returns the value of a form control. This is a convenience alias of Form.Element.getValue.
var $F = Form.Element.Methods.getValue;
//====>getValue()
getValue: function(element) {
element = $(element);
var method = element.tagName.toLowerCase();
return Form.Element.Serializers[method](element);
}
//====>Serializers
Form.Element.Serializers = {
input: function(element, value) {
switch (element.type.toLowerCase()) {
case 'checkbox':
case 'radio':
return Form.Element.Serializers.inputSelector(element, value);
default:
return Form.Element.Serializers.textarea(element, value);
}
},
inputSelector: function(element, value) {
if (Object.isUndefined(value)) return element.checked ? element.value :
null;
else element.checked = !!value;
},
textarea: function(element, value) {
if (Object.isUndefined(value)) return element.value;
else element.value = value;
},
//省略,以后說到這個對象的時候在詳細(xì)說明
......
//====> Object.isUndefined
function isUndefined(object) {
return typeof object === "undefined";
}
這個函數(shù)最后就是返回傳入?yún)?shù)的值。從Form.Element.Serializers 這個對象里面定義的方法可以看出,$F方法取得的是Form元素的值,如果定義一個div然后調(diào)用這個方法將會拋出Form.Element.Serializers[method] is not a function異常,如果給定的ID不存在將會拋出element has no properties異常。
在Form.Element.Serializers 里面的方法中先檢查value這個參數(shù)是否存在,存在就相當(dāng)于給element參數(shù)賦值,不存在就會返回element的值
Splits a string into an Array, treating all whitespace as delimiters. Equivalent to Ruby's %w{foo bar} or Perl's qw(foo bar).
復(fù)制代碼 代碼如下:
function $w(string) {
if (!Object.isString(string)) return [];
string = string.strip();
return string ? string.split(/\s+/) : [];
}
這個方法就是用空白字符把字符串分成數(shù)組,然后返回。
例子:
復(fù)制代碼 代碼如下:
$w('apples bananas kiwis') // -> ['apples', 'bananas', 'kiwis']
$F方法
Returns the value of a form control. This is a convenience alias of Form.Element.getValue.
復(fù)制代碼 代碼如下:
var $F = Form.Element.Methods.getValue;
//====>getValue()
getValue: function(element) {
element = $(element);
var method = element.tagName.toLowerCase();
return Form.Element.Serializers[method](element);
}
//====>Serializers
Form.Element.Serializers = {
input: function(element, value) {
switch (element.type.toLowerCase()) {
case 'checkbox':
case 'radio':
return Form.Element.Serializers.inputSelector(element, value);
default:
return Form.Element.Serializers.textarea(element, value);
}
},
inputSelector: function(element, value) {
if (Object.isUndefined(value)) return element.checked ? element.value :
null;
else element.checked = !!value;
},
textarea: function(element, value) {
if (Object.isUndefined(value)) return element.value;
else element.value = value;
},
//省略,以后說到這個對象的時候在詳細(xì)說明
......
//====> Object.isUndefined
function isUndefined(object) {
return typeof object === "undefined";
}
這個函數(shù)最后就是返回傳入?yún)?shù)的值。從Form.Element.Serializers 這個對象里面定義的方法可以看出,$F方法取得的是Form元素的值,如果定義一個div然后調(diào)用這個方法將會拋出Form.Element.Serializers[method] is not a function異常,如果給定的ID不存在將會拋出element has no properties異常。
在Form.Element.Serializers 里面的方法中先檢查value這個參數(shù)是否存在,存在就相當(dāng)于給element參數(shù)賦值,不存在就會返回element的值
相關(guān)文章
Prototype Selector對象學(xué)習(xí)
這個對象在幫助文檔上并沒有,但是這個對象確是整個DOM操作的核心類,工具函數(shù)$$,其實就是調(diào)用這個類的方法2009-07-07
Prototype Enumerable對象 學(xué)習(xí)
Enumerable是Prototype框架的基石,而Enumerable不單獨(dú)使用,在Prototype中其它對象mix了Enumerable里面的方法,這樣就可以在這些對象上應(yīng)用Enumerable的方法,這樣的對象有:Array,Hash,ObjectRange,還有一些和DOM,AJAX相關(guān)的對象。2009-07-07
基礎(chǔ)的prototype.js常用函數(shù)及其用法
基礎(chǔ)的prototype.js常用函數(shù)及其用法...2007-03-03
不錯的一篇關(guān)于javascript-prototype繼承
不錯的一篇關(guān)于javascript-prototype繼承...2007-08-08
Prototype1.5 rc2版指南最后一篇之Position
Prototype1.5 rc2版指南最后一篇之Position...2007-01-01

