当前位置: 首页 > 文档资料 > MooTools 中文文档 >

Object

优质
小牛编辑
125浏览
2023-12-01

Type: Object

对象函数的集合。

Function: Object.each

遍历一个对象。

语法:

Object.each(obj, fn[, bind]);

参数:

  • obj - (object)来遍历的对象。
  • fn - (function)来测试每个元件的功能。
  • bind - (object, optional)函数绑定到此对象执行(函数内部this指向到此对象)。

参数: fn

语法:
fn(item, key, object)
参数:
  1. item - (mixed)当前项。
  2. key - (mixed)当前项的键。
  3. object - (mixed)执行遍历的数组/对象。

例如:

// alerts 'The first day of the week is Sunday', 'The second day of the week is Monday', etc.:
Object.each({first: 'Sunday', second: 'Monday', third: 'Tuesday'}, function(value, key){
    alert('The ' + key + ' day of the week is ' + value);
});

Function: Object.merge

合并任意数量的对象。

语法:

var merged = Object.merge(obj1, obj2[, obj3[, ...]]);

参数:

  1. (object)任何数目的对象。

返回:

  • (object)合并后的新对象.

示例:

var obj1 = {a: 0, b: 1};
var obj2 = {c: 2, d: 3};
var obj3 = {a: 4, d: 5};
var merged = Object.merge(obj1, obj2, obj3); // returns {a: 4, b: 1, c: 2, d: 5}, (obj2, and obj3 are unaltered)
 
merged === obj1; // true, obj1 gets altered and returned as merged object
 
var nestedObj1 = {a: {b: 1, c: 1}};
var nestedObj2 = {a: {b: 2}};
var nested = Object.merge(nestedObj1, nestedObj2); // returns: {a: {b: 2, c: 1}}

Function: Object.clone

返回一个对象的副本。

语法:

var clone = Object.clone(obj);

参数:

  1. (obj)要克隆的对象

返回:

  • (object)传递的对象的副本

例如:

var obj1 = {a: 0, b: 1};
var obj2 = Object.clone(obj1);
 
obj1.a = 42;
alert(obj1.a);  // alerts '42'
alert(obj2.a);  // alerts '0'

Function: Object.append

追加一个对象的所有属性到另外一个对象.

语法:

Object.append(original, extension);

参数:

  1. original - (object)进行扩展的对象。
  2. extension - (object)提供扩展值的对象。

返回:

  • (object)扩展后的对象。

示例:

var firstObj = {
    name: 'John',
    lastName: 'Doe'
};
var secondObj = {
    age: '20',
    sex: 'male',
    lastName: 'Dorian'
};
Object.append(firstObj, secondObj);
//firstObj is now: {name: 'John', lastName: 'Dorian', age: '20', sex: 'male'};

Function: Object.subset

获取对象的子集。

语法:

Object.subset(object, keys);

参数:

  1. object - (object)父对象。
  2. keys - (array)键的数组。

返回:

  • (object)对象的子集。

示例:

var object = {
    a: 'one',
    b: 'two',
    c: 'three'
};
Object.subset(object, ['a', 'c']); // returns {a: 'one', c: 'three'}

Function: Object.map

创建一个映射对象.

语法:

var mappedObject = Object.map(object, fn[, bind]);

参数:

  1. object - (object)源对象。
  2. fn - (function)生成映射对象的处理函数。
  3. bind - (object, optional)函数绑定到此对象执行(函数内部this指向到此对象)。

参数: fn

语法:
fn(value, key, object)
参数:
  1. value - (mixed)当前项的值。
  2. key - (string)当前的键。
  3. object - (object)源对象。

返回:

  • (object)新的映射对象。

示例:

var myObject = {a: 1, b: 2, c: 3};
var timesTwo = Object.map(myObject, function(value, key){
    return value * 2;
}); // timesTwo now holds an object containing: {a: 2, b: 4, c: 6};

Function: Object.filter

创建一个新对象,新对象的所有项可以通过过滤函数。

语法:

var filteredObject = Object.filter(object, fn[, bind]);

参数:

  1. object - (object)源对象。
  2. fn - (function)测试函数,返回true为通过测试。
  3. bind - (object, optional)函数绑定到此对象执行(函数内部this指向到此对象)。

参数: fn

语法:
fn(value, key, object)
参数:
  1. value - (mixed)当前项的值。
  2. key - (string)当前项的键。
  3. object - (object)源对象。

返回:

  • (object)新过滤函数生成的对象。

示例:

var myObject = {a: 10, b: 20, c: 30};
var biggerThanTwenty = Object.filter(myObject, function(value, key){
    return value > 20;
}); // biggerThanTwenty now holds an object containing: {c: 30}

Function: Object.every

返回true,如果对象中的所有值满足所提供的测试函数。

语法:

var allPassed = Object.every(object, fn[, bind]);

参数:

  1. object - (object)源对象。
  2. fn - (function)提供测试的函数。
  3. bind - (object, optional)函数绑定到此对象执行(函数内部this指向到此对象)。

参数: fn

语法:
fn(value, key, object)
参数:
  1. value - (mixed)当前项的值。
  2. key - (string)当前项的键。
  3. object - (object)源对象。

返回:

  • (boolean)如果对象中的所有值满足提供的测试函数,返回true 。否则,返回false。

示例:

var myObject = {a: 10, b: 4, c: 25, d: 100};
var areAllBigEnough = Object.every(myObject, function(value, key){
    return value > 20;
}); // areAllBigEnough = false

Function: Object.some

返回true如果至少有一个项满足所提供的测试函数。

语法:

var anyPassed = Object.some(object, fn[, bind]);

参数:

  1. object - (object)源对象。
  2. fn - (function)测试函数。
  3. bind - (object, optional)函数绑定到此对象执行(函数内部this指向到此对象)。

参数: fn

语法:
fn(value, key, object)

参数:

  1. value - (mixed)当前项的值。
  2. key - (string)当前项的键。
  3. object - (object)源对象。

返回:

  • (boolean)如果在对象中任何一项满足测试函数,返回true 。否则,返回false 。

示例:

var myObject = {a: 10, b: 4, c: 25, d: 100};
var areAnyBigEnough = Object.some(myObject, function(value, key){
    return value > 20;
}); //isAnyBigEnough = true

Function: Object.keys

返回一个数组包含对象所有的键,键的顺序与Object.values返回值数组的顺序一样.

语法:

var keys = Object.keys(object);

参数:

  • object - (object)源对象。

返回:

  • (array)包含对象的所有键的数组。

Function: Object.values

返回一个数组包含对象所有的值,键的顺序与Object.values返回值数组的顺序一样.

语法:

var values = Object.values(object);

参数:

  1. object - (object)源对象。

返回:

  • (array)包含该对象的所有值的数组。

Function: Object.getLength

返回对象中键的数目。

语法:

var length = Object.getLength(object);

参数:

  1. object - (object)源对象。

返回:

  • (number)对象的长度。

示例:

var myObject = {
    name: 'John',
    lastName: 'Doe'
});
Object.getLength(myObject); // returns 2

Function: Object.keyOf

返回指定值的键。

语法:

var key = Object.keyOf(object, item);

参数:

  1. object - (object)源对象。
  2. item - (mixed)要对象搜索的值。

返回:

  • (string)如果对象中有一个指定的项,则返回该项的键。
  • (boolean)否则返回false 。

示例:

var myObject = {a: 'one', b: 'two', c: 3};
Object.keyOf(myObject, 'two'); // returns 'b'
Object.keyOf(myObject, 3); // returns 'c'
Object.keyOf(myObject, 'four'); // returns false

Function: Object.contains

测试为一个指定值的对象的存在。

语法:

var inObject = Object.contains(object, value);

参数:

  1. object - (object)源对象。
  2. value - (mixed)在对象搜索的值。

返回:

  • (boolean)如果搜索到,返回true 。否则,返回false 。

示例:

var myObject = {a: 'one', b: 'two', c: 'three'};
Object.contains(myObject, 'one'); // returns true
Object.contains(myObject, 'four'); // returns false

Function: Object.toQueryString

生成一个Get请求格式的字符串(已URI编码).

语法:

var queryString = Object.toQueryString(object[, base]);

参数:

  1. object - (object)从对象生成字符串。
  2. base - (string, optional)作为查寻字符串的基。

返回:

  • (string)查询字符串。

示例:

Object.toQueryString({apple: 'red', lemon: 'yellow'}); // returns 'apple=red&lemon=yellow'
 
Object.toQueryString({apple: 'red', lemon: 'yellow'}, 'fruits'); // returns 'fruits[apple]=red&fruits[lemon]=yellow'