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

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.

主站蜘蛛池模板: 肇庆市| 横山县| 体育| 龙江县| 新乡市| 汝南县| 胶南市| 浦江县| 都兰县| 会泽县| 阿勒泰市| 古交市| 阜城县| 郸城县| 山东省| 临夏市| 栾川县| 龙胜| 正定县| 咸宁市| 鸡泽县| 浏阳市| 荃湾区| 平陆县| 聊城市| 灌云县| 新和县| 西丰县| 马山县| 政和县| 宜宾市| 嘉义县| 清涧县| 额尔古纳市| 青铜峡市| 庆元县| 南靖县| 新泰市| 巫溪县| 泸溪县| 宁安市|