It is generally recommended to structure your code and reuse it where possible. This also applies to scripts and styles. You can reference the main scripts or styles in the page template or layout used for the widgets. If you want to have different behavior in each of them, you can wrap the whole widget template/view in a container element, for example a div element and style this element and its children. You can base the styles on different selectors that you will be able to reuse. The same applies to the javscript - if you want particular script to apply only to a specific widgets, modify your selectors and logic to match only elements in the widget container.
For instance, this way you can select all textboxes in that particular widget (widget container element) and set on logic only to them.
Do you want to have your say in the Sitefinity development roadmap? Do
you want to know when a feature you requested is added or when a bug
fixed? Explore the Telerik Sitefinity CMS Ideas&Feedback Portal
and vote to affect the priority of the items