JQuery how to create Object?


4
Един малко глупав въпрос, как с JQuery се прави обект, т.е Prototypе или classical object. Счупих се да търся и нищо не намерих?



Отговори



3

До колкото знам jQuery няма ООП функции. Аз използвам ООП функциите на prototype.js, като намерих една малка библиотека за това ( цък ).


от SVGN_H (3048 точки)


0
знаеш ли с ProtoClass, която ми препоръча, как да проверявам даден обект от на кой клас е инстанция?

от AsenVal (3487 точки)

0
var Person = ({}); var Pirate = (Person, {}); var BlackPirate = (Pirate, {});
Pirate.superClass == Person // true BlackPirate.superClass == Pirate // true BlackPirate.superClass == Person // false

от SVGN_H (3048 точки)



2

Дам jQuery не се препоръчва за OOP. Можеш да ползваш KendoUI: http://docs.kendoui.com/tutorials/inheritance-with-kendoui


от saykor (8845 точки)


1

Ей ти нещо с което можеш да правиш наследяване.

http://api.jquery.com/jQuery.extend/


от krasi.nikolov (1412 точки)


0
Здравей, благодаря за линка. Но мисля, че няма как да се получи с това...Пример имам клас var GameObject = {init:....}; var Figure = $.extend(GameObject, {init:.....}); var Angle = $.extend(Figure, {init:.....});
до тук е добре...обаче, когато направя още една фигура: var Square = $.extend(Figure, {init:.....}); тука вече гърми...имаш ли идея как да го направя да работи :

от zhelyazkovn (2949 точки)

0
A какво точно ти гърми? Доколкото видях в документацията на АПИ-то има опция за дълбоко копиране, защото иначе : "The merge performed by $.extend() is not recursive by default; if a property of the first object is itself an object or array, it will be completely overwritten by a property with the same key in the second or subsequent object. The values are not merged. ... However, by passing true for the first function argument, objects will be recursively merged."
$.extend(true, Parent , { new object});
Може би от там идва проблемът?

от gparlakov (884 точки)



3

За отборната работа ни се наложи да търсим точно същото нещо и понеже в jQuery няма наслядаване намерихме 1 плъгин за тази цел. Даже и instanceof работи както трябва.

Ето репозитори https://github.com/dfilatov/jquery-plugins/tree/master/src/jquery.inherit . По-надолу в описанието си е казано и как се ползва.


от speedmaister (237 точки)