您的位置:首页 > 其它

Prototype 学习 工具函数学习($w,$F方法)

2009-07-12 00:00 826 查看
$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+/) : []; 
}

这个方法就是用空白字符把字符串分成数组,然后返回。
例子:
$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; 
}, 
//省略,以后说到这个对象的时候在详细说明 
...... 
//====> Object.isUndefined 
function isUndefined(object) { 
return typeof object === "undefined"; 
}

这个函数最后就是返回传入参数的值。从Form.Element.Serializers 这个对象里面定义的方法可以看出,$F方法取得的是Form元素的值,如果定义一个div然后调用这个方法将会抛出Form.Element.Serializers[method] is not a function异常,如果给定的ID不存在将会抛出element has no properties异常。
在Form.Element.Serializers 里面的方法中先检查value这个参数是否存在,存在就相当于给element参数赋值,不存在就会返回element的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: