"... If a user uses new $ this user simply does not truly understand/
know
JavaScript but fortunately will not harm anybody..."

No it wont, unless this user is a team leader and starts blaming
jQuery on everything.
And this happens much more than anyone here (it seems) realises.
But. This is another subject.

PS:

jQuery.fast = false  ;
jQuery.error_code = 0xABCD ;

 function(selector, context) {
     if ( ! jQuery.fast)
                   if(this instanceof jQuery)
                            throw new Error( jQuery.error_code,  "Can
not new $()");
     return new jQuery.fn.init(selector, context);
  }

On May 14, 2:59 pm, Andrea Giammarchi <andrea.giammar...@gmail.com>
wrote:
> to do that you need to change the contructor:
>
> function(selector, context) {
>     if(this instanceof jQuery)
>         throw new Error("Can not new $()");
>     return new jQuery.fn.init(selector, context);
>
> }
>
> this means an extra if for each jQuery call, something not that welcome for
> performances reason. At the same time, jQuery itself relies in this
> JavaScript peculiarity, so I would not create "conflicts" between jQuery
> developers and users.
>
> If a user uses new $ this user simply does not truly understand/know
> JavaScript but fortunately will not harm anybody.
>
> On Thu, May 14, 2009 at 10:23 AM, DBJDBJ <dbj...@gmail.com> wrote:
>
> > Ah, new $, is possible and therefore not barred ... Left in there as a
> > sort of a land-mine for the newcomers ? Or as an esoteric test for GC
> > developers ? Highly useless it seems to me.
>
> > Back to reality and jQuery. $ is defined as:
>
> > function(selector, context) {
> >            // The jQuery object is actually just the init constructor
> > 'enhanced'
> >            return new jQuery.fn.init(selector, context);
> >        }
>
> > Maybe I am just searching for ECMA "harmony", but will $() definition
> > that throws an exception if new-ed , be usefull  :
>
> > try {
> >        new $ ;
> > } catch ( x )
> > {
> >    // x. message == "Can not new $()"
> > }
>
> > Au-contraire : will this hurt anyone ? Is exception throwing
> > porgramming idiom damaging for jQuery?
>
> > --DBJ
>
> > PS: if Python was choosen as a Netscape scripting language,  World
> > would be a better place ... If nothing else its name is less
> > ridiculous ... ;o)
>
> > On May 14, 9:04 am, Andrea Giammarchi <andrea.giammar...@gmail.com>
> > wrote:
> > > it's called JavaScript :D
>
> > > jokes a part, every function is a constructor as well so new function is
> > > always valid.
>
> > > If the function returns an object, it does not matter which "new" is
> > because
> > > it will be an instance of returned object one.
>
> > > if it is a primitive it will simply be lost:
>
> > > var a = new function(){return 123;};
> > > // a is an instance of anonymous function
>
> > > this allows us to create Python like initializations:
>
> > > function PythonLike(){
> > >     return this instanceof arguments.callee ? this : new
> > arguments.callee;
>
> > > };
>
> > > alert(PythonLike() instanceof PythonLike);
> > > alert(new PythonLike() instanceof PythonLike);
>
> > > true in both cases
>
> > > jQuery returns a new jQuery.prototype.init where init method shares the
> > same
> > > prototype ... better now? :-)
>
> > > On Wed, May 13, 2009 at 11:57 PM, DBJDBJ <dbj...@gmail.com> wrote:
>
> > > > Why is this allowed :
>
> > > > var jq = new $ ;
>
> > > > Does it matter?
>
> > > > -- DBJ
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to