|
Don't learn - just copy-paste from SO and hack at it until it sort of works.
That's what everyone else is jDoing.
|
|
|
|
|
Well, to preface this... I've been using JavaScript since the 90s, then a few years back I learned way more than I ever thought I knew about it from a super smart coworker at the time. So only doing really hardcore stuff for only a few years now.
But, I'll say this. The web is sporadic. People don't really take the time to write well thought out content like a book does. Back in the 90s the best book I ever read on the subject was called the JavaScript Bible. It's still around actually if you get a newer edition, since it's has had 7 revisions. Things have changed now, so I'm sure there are a number of good books on the subject.
My advice, get a good book on plain vanilla JavaScript and start a personal project to work on with it. Reading stuff online alone won't really teach you much. You have to work on a project.
Also, as much as I love jQuery... I still use it a lot but it is dying as some of issues it addressed are being handled by native JavaScript these days. So, if I had to learn it all again, personally I'd start with vanilla JavaScript. Spend some time with it. Understand the semantics of the language (they're different because JavaScript is more functional then OOP) and only after a solid foundation would I consider building on top of that with libraries like jQuery.
Not really sure what interests you, but a suitable project to learn with would of course be a client-heavy one, such as a game. If you're looking for ideas, see if you can make a Tetris clone in pure JavaScript for instance. Those are always fun.
And remember, to get most things done in JavaScript you use callbacks and function chains like crack cocaine due to its functional nature, much like you would with LINQ chaining in C#. And by default, every last remote call is async. If you need to update the DOM based on a remote API call for instance it helps to remember that.
Jeremy Falcon
modified 8-Nov-17 3:13am.
|
|
|
|
|
I have been reviewing some code from google music lab's experimental music projects. It's really interesting.
I am not the one who knocks. I never knock.
In fact, I hate knocking.
|
|
|
|
|
Yeah, people don't realize how much Google has helped the web. They have a ton of awesome APIs they expose to the public. If it turns out being a fun project, I'd be interested to see what comes of it.
Jeremy Falcon
|
|
|
|
|
|
Thanks, learning vanilla JS is really the way to go.
I am not the one who knocks. I never knock.
In fact, I hate knocking.
|
|
|
|
|
|
Oh, and hard core JavaScript has a high learning curve akin to F#. It's different. Don't worry about the naysayers saying they hate it. It's the defacto language for the client web. The language is pretty nifty but radically different than say C#. In reality, it's the development environments for it that need some work (they're much better this day and age), so get used to using your developer tools in Chrome, etc. as these will literally be a life saver.
Jeremy Falcon
|
|
|
|
|
Thank you, Jeremy.
This is what I actually wanted. As I said, I can get the work done, the problem is that it takes a few tries to make things work and sometimes it's really counter-intuitive (which really means I know zilch).
Learning vanilla JS is what I want to do.
I know that a lot of people hate JS (as do I), but I also understand that there's no way around it,
now that clients want to build their application in the latest new and shining JS framework coz they heard it's "better".
(sigh) nosedive it is then.
I am not the one who knocks. I never knock.
In fact, I hate knocking.
|
|
|
|
|
You're welcome. And, I think you'll learn to like it once you get past the WTFs with the learning curve that is.
Since it's always fun to see demos, try doing this without JavaScript. It would be impossible...
Tearable Cloth v2[^]
Even if you use WebGL, canvas, et al they are controlled by JavaScript. So learning it is essential for client interactivity.
Jeremy Falcon
|
|
|
|
|
That's so cool.
I am not the one who knocks. I never knock.
In fact, I hate knocking.
|
|
|
|
|
*cough* Typescript. Just sayin'.
This space for rent
|
|
|
|
|
It can be a good tool - especially if you are used to typed languages... But, at the end of the day it translated to JS and that what runs on the clients machine, so using TS does not relieve you from learning JS...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Kornfeld Eliyahu Peter wrote: using TS does not relieve you from learning JS... Indeed it doesn't (nor was I suggesting that it does). What you do get from this, is well written examples of the language when the code has been transpiled so it becomes easier for you to grok how certain things should be structured.
This space for rent
|
|
|
|
|
|
I am not a fan of javascript, but it has become a serious and mighty programming language over the years.
It is depending on the developer and it skill to use it in strict mode.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
When it comes to Javascript, I started by crying. That turned into screaming. Now I just quietly whimper.
|
|
|
|
|
I do not understand why so many people hate and whine about JavaScript. I've been using it for years and once you understand how web programming works, JS is easy. Then I found jQuery which was really confusing at first until I got the hang of it and now it is awesome.
It is not that hard nor that bad. w3schools has some good information. I'd suggest doing a project and then just google how to do what it is you need to do. Learn by doing, that's what works best for me.
There are two kinds of people in the world: those who can extrapolate from incomplete data.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Hi,
I would highly recommend these[^] videos by Douglas Crockford.
I have been using JavaScript off-and-on since the late nineties but there are a lot of caveats. An "interesting" language and things have been changing quite a bit with module loading and the like.
Once you get the hang of it you'll want to probably get going on one of the MV* frameworks. I have used Ember.js (3 years) before but currently I prefer CanJS[^] as I like the design and the fact that it is more library-focused and not so much a framework.
Regards,
Eben
|
|
|
|
|
Look at the free jQuery book here.
https://www.syncfusion.com/resources/techportal/ebooks
This will give you a good idea of basic use. After the book, the jQuery online documentation will help you refine the basics for a particular usage.
You really also need some basics on web page layout and CSS to go along with jQuery.
|
|
|
|
|
JavaScript is a dynamically typed language based around event driven programming. Everything is based around the idea of callbacks. If you are writing NodeJS or only targeting modern browsers then you get a 'Promise' - which is an object that lets you call a 'then' member to give it a callback. It's all centred around an event loop. (Bottom line is: understand what a callback is)
Do yourself a favour, and unless you're given no other choice - avoid NodeJS like the plague. Every other server side technology ranging from Python Applications written in WSGI, ASP.Net and JSP, through to FCGI written in C (no that last one isn't an exaggeration, the logic is easier to follow) are easier to work with and understand.
I would say the place to start with client-side JavaScript is in understanding the DOM, and how to program it. I actually have a hunch that custom elements would be a good place to start if you're already knowledgeable in how to program. To change the appearance of anything in the browser though you probably need to also understand CSS - which in my opinion is actually the harder challenge as it's a declarative language that doesn't agree with most people.
If you can master both you can move onto manipulating the CSSOM with JavaScript.
|
|
|
|
|
Thank you. Understanding DOM programming is a good idea. I'll definitely look into that.
I am not the one who knocks. I never knock.
In fact, I hate knocking.
|
|
|
|
|
Read one of the HTML(5), CCS(3), JavaScript "in 24 hours" books and start with the basics.
Learn them in this order otherwise: HTML; CSS; JavaScript (one builds on the other: content -> presentation -> interaction).
Some of the smartest and best people in the field don't use any "frameworks" (like JQuery).
Decide for yourself, later.
Project Silk: Client-Side Web Development for Modern Browsers
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
modified 9-Nov-17 11:31am.
|
|
|
|
|
I want to simulate a virtual mouse with cursor,so i can use code to control it to do some automation service software, It doesn't conflict with real mouse. Does everyone know how to do this? thx.
|
|
|
|
|
Step 1: see the bold, red text a little above your message.
Step 2: do what it says.
|
|
|
|