Ext.creatとnew


Ext.Ext.creat provides a higher level control for instantiation throughot.It's best practice from Ext JS 4 onwards to use it over the'new'keywod、sincit's tightlycouuggggggggggggggggggguuuplled with Exttttttttwith Ext Ext Ext.Lopath Ext.Loadtttttttttttt. Loaddededededededededededededededededededededededededededededededededetttttttttusly the first time it's used、which frees you from having to remember“Ext.require-inng”it before-hand.
Besides、just like Ext.require、Ext.create accepts either a class name or an alias、which makes it extremely convent to instantiate almost everthing Ext JS 4 library byite/type

Ext.create('widget.combobox'); // instead of Ext.create('Ext.form.field.ComboBox')
Ext.create('proxy.jsonp'); // instead of Ext.create('Ext.data.proxy.JsonP')
Debuggging is much more.If you try to instantiate a nonexistent class with the'new'keyword,it's painful to figur out quickly what's gong with"TypeErr:undefined is not a function"

new Ext.data.proxy.JsonD
instead

Ext.create('Ext.data.proxy.JsonD')
gives you:
[Ext.creat]Canot create an instance of unrecognized class name/alias:Ext.data.proxy.Jsond
We've heavily optimized it internally for the best performanc possible、and extreme benchmarks proveのconsiders able on performance over thounds of Object.
Another robust feature with Ext.create that can't be simply achieve with the'new'keyword is it enables instantiation with variable argments.For example:

Ext.create.apply(null, ['My.ClassName', arg1, arg2, arg3, ...]);
Which is not possible with:

new My.ClassName({list of arguments must be known here});
参考:
http://www.sencha.com/forum/showthread.php?12671-Ext.creat-vs-the-keyword-new