Editing JavaScript

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
= JavaScript Class =
= JavaScript Class =
'''Teacher:''' [[User:Garrett|Garrett Smith]]  
By [https://noisebridge.net/wiki/User:Garrett Garrett Smith]
[https://twitter.com/xkit @xkit] (follow & mention).
Held Wed and Friday, 7-9pm, Sunday 9:30 AM
'''LinkedIn:''' [http://www.linkedin.com/profile/view?id=3600638&goback=.nmp_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1&trk=spm_pic Garrett Smith] (endorsements welcome)
'''Web:''' http://dhtmlkitchen.com/
'''email:''' dhtmlkitchen at gmail.com


'''When:''' Friday: 7-9pm, Sunday: 10-11:30 AM
'''Twitter:''' [https://twitter.com/ @xkit] (follow & mention).


'''Where:''' Noisebridge, [[Getting_Here| 2169 Mission St, San Francisco]]
'''LinkedIn:''' [http://www.linkedin.com/profile/view?id=3600638&goback=.nmp_*1_*1_*1_*1_*1_*1_*1_*1_*1_*1&trk=spm_pic Garrett Smith] (endorsements welcome)


'''Web:''' http://dhtmlkitchen.com/


dhtmlkitchen at gmail.com


===Course Overview===
===Course Overview===
This course covers the fundamentals of the EcmaScript programming language ([http://ecma-international.org/ecma-262/5.1/ ECMAScript spec]), the DOM ([http://www.w3.org/TR/DOM-Level-3-Core/ DOM 3 spec]), and object-oriented design. It is intended for experienced web developers and programmers of other languages, however all are welcome.
This course covers the fundamentals of the EcmaScript programming language ([http://ecma-international.org/ecma-262/5.1/ spec]), the DOM ([http://www.w3.org/TR/DOM-Level-3-Core/ spec]), and object-oriented design. It is intended for experienced web developers and programmers of other languages, however all are welcome.
 
 
<h4>List of Classes</h4>
Please read the <b style="background-color:#ffffcc;padding: 2px">[[JavaScript/Notes/| list of classes ]] </b> and each lesson's linked notes to decide what you want to study.


<h4>Individual classes]</h4>
Please read the [https://noisebridge.net/wiki/JavaScript/Notes/ list of classes ]and the associated notes to decide what you want to study.


=== Resources ===
=== Resources ===
Reference specifications are used extensively. These are linked from the [[Web Development Resources#JavaScript|JavaScript resources]] page. Read them daily.
Reference specifications are used extensively. These are linked from the [https://noisebridge.net/wiki/Web_Development_Resources#JavaScript JavaScript resources] page. Read them daily.
 


== Behavior ==  
== Behavior ==  
Ask Questions. Interact.  
Ask Questions. Interact.  


Read the <b style="background-color:#ffffcc;padding: 2px">[[JavaScript/Notes/| individual classes]]</b>. Each class lesson is chosen by students at the start of class and will adjusted to meet the students' needs. Get involved! Noisebridge is a [[Do-ocracy]].
Read the [https://noisebridge.net/wiki/JavaScript/Notes/ individual classes]. Each class lesson is chosen by and adjusted to students' needs. Get involved! Noisebridge is a doocracy.
 
 
== Motivation ==
 
While there might be many reasons to come to JavaScript class, the most common reason is to learn. And generally, that driven by the potential to increase earning potential.  


Programming is neither healthy nor enjoyable. So students of casual interest will probably not see much advancement is this class. However students who direct sufficient anger to the task of learning JavaScript may excel enough to attain an increase in professional level of skill.
== EcmaScript Programming Language ==
* Property accessors, <code>[]</code> and <code>.</code> <nowiki>[[Get]], [[Put]]</nowiki> and the Reference type.
* Prototypal inheritance
* typeof operator
* Arrays
* Primitive types
* Functions, callbacks, "I'm done", Event Notification System
* Scope chain and identifier resolution, Closures
* Entering an execution context (this)
* <code>call</code>, <code>apply</code>)
* <nowiki>[[Construct]], [[Call]]</nowiki>
* Literal syntax [], {}, /a/i RegularExpression literal


Front End Engineering is not difficult, but it is hard.
===Patterns and Object Oriented JavaScript===
* Decorator pattern
* Custom Events
* EventRegistry
* Factory, Abstract Factory
* Strategy/delegation - Example: APE StyleTransition object.


=== Resources ===
[https://noisebridge.net/wiki/Web_Development_Resources#JavaScript JavaScript Development Resources]


== Projects ==
== Projects ==
We learn by doing. Get involved!
We learn by doing. Get involved!
* Porting the FAQ to Github [https://github.com/comp-lang-javascript/ Get involved]!
* Porting the FAQ to Github [https://github.com/comp-lang-javascript/ Get involved]!
Please note that all contributions to Noisebridge are considered to be released under the Creative Commons Attribution-NonCommercial-ShareAlike (see Noisebridge:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)