Prototype 学习 工具函数学习($w,$F方法)
Prototype 学习 工具函数学习($w,$F方法)
发布时间:2016-12-30 来源:查字典编辑
摘要:$w方法SplitsastringintoanArray,treatingallwhitespaceasdelimiters.Equival...

$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的值

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类