官术网_书友最值得收藏!

Determining the object type and converting empty references to a default value

This recipe teaches you how to determine the types of different objects using the facilities of Ext JS, as well as a simple method that can be used to initialize empty references with a default value.

How to do it...

You can determine the types of different objects in the following way:

  1. Create some dummy data structures:
    var colorsArray = new Array();
    colorsArray[0] = 'Blue';
    colorsArray[1] = 'Red';
    colorsArray[2] = 'White';
    var colorsObject = { color1: 'Blue', color2: 'Red', color3: 'White' };
    var aNumber = 1;
    var aString = '1';
    var sample;
    var empty;
    
  2. Check the types of our variables:
    var colorsArrayType = Ext.type(colorsArray);
    // colorsArrayType's value is "array".
    var isArray = Ext.isArray(colorsArray);
    // isArray is true
    var colorsObjectType = Ext.type(colorsObject);
    // colorsObjectType's value is "object".
    var isArray = Ext.isArray(colorsObject);
    // isArray is false
    var number = Ext.num(aNumber, 0);
    // number is 1.
    number = Ext.num(aString, 0);
    // Since aString is not numeric, the supplied
    // default value (0) will be returned.
    var defined = Ext.util.Format.undef(sample);
    // defined is an empty string
    sample = "sample is now defined";
    defined = Ext.util.Format.undef(sample);
    // defined is now "sample is now defined".
    var notEmpty = Ext.value(empty, 'defaultValue', false);
    // notEmpty is 'defaultValue'
    

How it works...

The Ext.type(object) function is capable of detecting elements, objects, text nodes, whitespaces, functions, arrays, regular expressions, numbers, and node lists.

As its name indicates, Ext.isArray(object) simply checks whether the passed object is a JavaScript array. Ext.num(value, defaultValue), in turn, does a numeric type check on the passed value and returns the default value when the argument is not numeric.

Ext.util.Format.undef(value) is a very useful function when you need to test for undefined values. It returns either the supplied argument or an empty string if the argument is undefined.

Ext.value(value, defaultValue, allowBlank) also allows you to specify a default value when the value being tested is undefined.

主站蜘蛛池模板: 建平县| 灯塔市| 象州县| 山东| 理塘县| 揭东县| 天镇县| 龙山县| 庆阳市| 祁门县| 布尔津县| 永春县| 和平区| 枞阳县| 绿春县| 娱乐| 东至县| 凌云县| 罗江县| 花莲县| 汪清县| 奉化市| 九江市| 泊头市| 灵璧县| 望奎县| 抚顺市| 正镶白旗| 鲜城| 贵州省| 巴中市| 进贤县| 曲麻莱县| 玉溪市| 化州市| 永安市| 承德县| 临清市| 房产| 拉孜县| 昌乐县|