<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Javascript</id>
	<title>Javascript - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://aznot.com/index.php?action=history&amp;feed=atom&amp;title=Javascript"/>
	<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Javascript&amp;action=history"/>
	<updated>2026-05-03T15:24:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://aznot.com/index.php?title=Javascript&amp;diff=8450&amp;oldid=prev</id>
		<title>Kenneth: /* Examples */</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Javascript&amp;diff=8450&amp;oldid=prev"/>
		<updated>2025-03-03T21:04:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Examples&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:04, 3 March 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l792&quot;&gt;Line 792:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 792:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* javascript - How to darken an image on mouseover? - Stack Overflow - http://stackoverflow.com/questions/1747637/how-to-darken-an-image-on-mouseover&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* javascript - How to darken an image on mouseover? - Stack Overflow - http://stackoverflow.com/questions/1747637/how-to-darken-an-image-on-mouseover&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Collapse Div with Hidden Until-Found ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Here&#039;s how to collapse a div in JavaScript while ensuring its content remains searchable:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The hidden attribute in HTML can be used to hide elements. When set to until-found, the element is hidden until it is the target of a fragment navigation request or a search, at which point the browser will reveal it. This allows the content to be searchable even when collapsed.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div id=&quot;collapsible-content&quot; hidden=&quot;until-found&quot;&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  This content is collapsible and searchable.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;button onclick=&quot;toggleVisibility()&quot;&amp;gt;Toggle Visibility&amp;lt;/button&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;script&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;function toggleVisibility() {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  const content = document.getElementById(&#039;collapsible-content&#039;);&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  content.hidden = content.hidden === &#039;until-found&#039; ? false : &#039;until-found&#039;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/script&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/pre&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;When the button is clicked, the toggleVisibility function is called. This function checks the current state of the hidden attribute. If it is until-found, it sets it to false, making the content visible. If it&#039;s false (or any other value), it sets it back to until-found, hiding the content. The content remains searchable even when hidden with hidden=&quot;until-found&quot;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== keywords ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== keywords ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key aznot:diff:1.41:old-6440:rev-8450:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
	<entry>
		<id>https://aznot.com/index.php?title=Javascript&amp;diff=6440&amp;oldid=prev</id>
		<title>Kenneth: /* strings */</title>
		<link rel="alternate" type="text/html" href="https://aznot.com/index.php?title=Javascript&amp;diff=6440&amp;oldid=prev"/>
		<updated>2023-09-23T23:38:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;strings&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Javascript ==&lt;br /&gt;
&lt;br /&gt;
== Subpage Table of Contents ==&lt;br /&gt;
&lt;br /&gt;
{{Special:PrefixIndex/{{PAGENAME}}/}}&lt;br /&gt;
&lt;br /&gt;
== Load Script ==&lt;br /&gt;
&lt;br /&gt;
External Script&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;myscript.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inline: (in html head or body)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
  // some javascript...&lt;br /&gt;
//   --&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
[http://www.devguru.com/Technologies/ecmascript/quickref/js_methods.html DevGuru JavaScript Quick Reference Methods Index]&lt;br /&gt;
&lt;br /&gt;
== Page Refresh ==&lt;br /&gt;
&lt;br /&gt;
Example: [http://www.quackit.com/javascript/javascript_refresh_page.cfm]&lt;br /&gt;
 &amp;lt;!-- Codes by Quackit.com --&amp;gt;&lt;br /&gt;
 &amp;lt;a href=&amp;quot;javascript:location.reload(true)&amp;quot;&amp;gt;Refresh this page&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other triggers:&lt;br /&gt;
 &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Reload Page&amp;quot; onClick=&amp;quot;window.location.reload()&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Reload Page&amp;quot; onClick=&amp;quot;history.go(0)&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Reload Page&amp;quot; onClick=&amp;quot;window.location.href=window.location.href&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Auto Page Refresh ==&lt;br /&gt;
&lt;br /&gt;
Example: [http://www.quackit.com/javascript/javascript_refresh_page.cfm]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;!-- Codes by Quackit.com --&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/JavaScript&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
function timedRefresh(timeoutPeriod) {&lt;br /&gt;
	setTimeout(&amp;quot;location.reload(true);&amp;quot;,timeoutPeriod);&lt;br /&gt;
}&lt;br /&gt;
//   --&amp;gt;&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body onload=&amp;quot;JavaScript:timedRefresh(5000);&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This page will refresh every 5 seconds. This is because we&amp;#039;re using the &amp;#039;onload&amp;#039; event to call our function. We are passing in the value &amp;#039;5000&amp;#039;, which equals 5 seconds.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;But hey, try not to annoy your users too much with unnecessary page refreshes every few seconds!&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Refresh using META-Refresh ==&lt;br /&gt;
&lt;br /&gt;
See [[HTML#META-Refresh]]&lt;br /&gt;
&lt;br /&gt;
== Change span content ==&lt;br /&gt;
&lt;br /&gt;
Change span content [http://www.webdeveloper.com/forum/showthread.php?84892-change-a-text-within-lt-span-gt-tag-dynamically]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
document.getElementById(&amp;quot;someelement&amp;quot;).innerHTML=&amp;quot;...&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// &lt;br /&gt;
&amp;lt;span id=&amp;quot;posting:oTxtIgnoreAdd&amp;quot; onclick=&amp;quot;ChangeText(this)&amp;#039;&amp;quot;&amp;gt;Add&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
function ChangeText(field){&lt;br /&gt;
  field.innerHTML=&amp;#039;Ignore&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== auto refresh image ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;camera.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;body onload=&amp;quot;updateImage();&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
var newImage = new Image();&lt;br /&gt;
newImage.src = &amp;quot;http://localhost/image.jpg&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
function updateImage()&lt;br /&gt;
{&lt;br /&gt;
if(newImage.complete) {&lt;br /&gt;
    document.getElementById(&amp;quot;theText&amp;quot;).src = newImage.src;&lt;br /&gt;
    newImage = new Image();&lt;br /&gt;
    number++;&lt;br /&gt;
    newImage.src = &amp;quot;http://localhost/image/id/image.jpg?time=&amp;quot; + new Date();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
    setTimeout(updateImage, 1000);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maybe:&lt;br /&gt;
 newImage.src = &amp;quot;...&amp;quot; + new Date().getTime();&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* javascript - Refresh image with a new one at the same url - Stack Overflow - http://stackoverflow.com/questions/1077041/refresh-image-with-a-new-one-at-the-same-url&lt;br /&gt;
&lt;br /&gt;
== onclick ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;&amp;quot; onhover=&amp;quot;dosomething();&amp;quot; onmouseover=&amp;quot;dosomethingelse();&amp;quot; onclick=&amp;quot;return false;&amp;quot;&amp;gt;Do Something&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== AJAX ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function get_active() {&lt;br /&gt;
	var xmlhttp;&lt;br /&gt;
	if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari&lt;br /&gt;
		xmlhttp=new XMLHttpRequest();&lt;br /&gt;
	} else {// code for IE6, IE5&lt;br /&gt;
		xmlhttp=new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	xmlhttp.onreadystatechange=function() {&lt;br /&gt;
		document.getElementById(&amp;quot;status&amp;quot;).innerHTML = &amp;quot;Loading...&amp;quot;;&lt;br /&gt;
		if (xmlhttp.readyState==4 &amp;amp;&amp;amp; xmlhttp.status==200) {&lt;br /&gt;
			document.getElementById(&amp;quot;activesprinkler&amp;quot;).value = xmlhttp.responseText;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	xmlhttp.open(&amp;quot;GET&amp;quot;, &amp;quot;sprinkler.py&amp;quot;, true);&lt;br /&gt;
	xmlhttp.send();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
WARNING: don&amp;#039;t try opening a file on another server, it won&amp;#039;t work, due to security constraints!&lt;br /&gt;
&lt;br /&gt;
AJAX Send an XMLHttpRequest To a Server - http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp&lt;br /&gt;
&lt;br /&gt;
AJAX Tutorial - http://www.w3schools.com/ajax/&lt;br /&gt;
&lt;br /&gt;
== Detect IE Version ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if(navigator.appName.indexOf(&amp;quot;Internet Explorer&amp;quot;)!=-1){     //yeah, he&amp;#039;s using IE&lt;br /&gt;
    var badBrowser=(&lt;br /&gt;
        navigator.appVersion.indexOf(&amp;quot;MSIE 9&amp;quot;)==-1 &amp;amp;&amp;amp;   //v9 is ok&lt;br /&gt;
        navigator.appVersion.indexOf(&amp;quot;MSIE 1&amp;quot;)==-1  //v10, 11, 12, etc. is fine&lt;br /&gt;
too&lt;br /&gt;
    );&lt;br /&gt;
&lt;br /&gt;
    if(badBrowser){&lt;br /&gt;
        // navigate to error page&lt;br /&gt;
        alert(&amp;#039;WARNING: PAGE WILL LOOK BROKEN!\nYou really should upgrade to IE 10, or even better switch to Firefox/Chrome!&amp;#039;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modified from source: http://stackoverflow.com/questions/10964966/detect-ie-version-in-javascript&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function isIE () {&lt;br /&gt;
  var myNav = navigator.userAgent.toLowerCase();&lt;br /&gt;
  return (myNav.indexOf(&amp;#039;msie&amp;#039;) != -1) ? parseInt(myNav.split(&amp;#039;msie&amp;#039;)[1]) : false;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if (isIE () &amp;lt; 10) { ... }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Javascript from Command Line ==&lt;br /&gt;
&lt;br /&gt;
Use the &amp;#039;/usr/bin/js&amp;#039; command.&lt;br /&gt;
&lt;br /&gt;
js - JavaScript interpreter - http://www.mozilla.org/js/&lt;br /&gt;
:&amp;quot;JavaScript is the Netscape-developed object scripting language used in millions of web pages and server applications worldwide. Netscape&amp;#039;s JavaScript is a superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting language, with only mild differences from the published standard.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Based on SpiderMonkey - Information specific to JavaScript in C engine (aka SpiderMonkey) embedding.&lt;br /&gt;
&lt;br /&gt;
WARNING: &amp;quot;Note: Because the JavaScript shell is used as a test environment for the JavaScript engine, the available options and built-in functions can change over time.&amp;quot; [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell]&lt;br /&gt;
&lt;br /&gt;
WARNING: DOES NOT INCLUDE MANY COMMON JAVASCRIPT OBJECTS AND FUNCTIONS:&lt;br /&gt;
* alert()&lt;br /&gt;
* console.log()&lt;br /&gt;
* Object.getOwnPropertyNames(obj)&lt;br /&gt;
&lt;br /&gt;
Documentation:&lt;br /&gt;
* Introduction to the JavaScript shell - Mozilla | MDN - https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
 # epel or rpmforge&lt;br /&gt;
 yum install js&lt;br /&gt;
&lt;br /&gt;
Code:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
js&amp;gt; print(&amp;#039;hi&amp;#039;)&lt;br /&gt;
hi&lt;br /&gt;
&lt;br /&gt;
js&amp;gt; 6*7&lt;br /&gt;
42&lt;br /&gt;
&lt;br /&gt;
js&amp;gt; function f() {&lt;br /&gt;
  return a;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
js&amp;gt; var a = 34;&lt;br /&gt;
&lt;br /&gt;
js&amp;gt; f()&lt;br /&gt;
34&lt;br /&gt;
&lt;br /&gt;
js&amp;gt; Math.random()&lt;br /&gt;
0.7849307000430139&lt;br /&gt;
&lt;br /&gt;
js&amp;gt; typeof Math&lt;br /&gt;
object&lt;br /&gt;
&lt;br /&gt;
js&amp;gt; var o = new Object();&lt;br /&gt;
&lt;br /&gt;
js&amp;gt; quit()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ js echo.js test1 test2&lt;br /&gt;
test1&lt;br /&gt;
test2&lt;br /&gt;
$ cat echo.js&lt;br /&gt;
for (i in arguments) {&lt;br /&gt;
  print(arguments[i])&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
js&amp;gt; help()&lt;br /&gt;
JavaScript-C 1.7.0 2007-10-03&lt;br /&gt;
Command        Usage                  Description&lt;br /&gt;
=======        =====                  ===========&lt;br /&gt;
version        version([number])      Get or set JavaScript version number&lt;br /&gt;
options        options([option ...])  Get or toggle JavaScript options&lt;br /&gt;
load           load([&amp;#039;foo.js&amp;#039; ...])   Load files named by string arguments&lt;br /&gt;
readline       readline()             Read a single line from stdin&lt;br /&gt;
print          print([exp ...])       Evaluate and print expressions&lt;br /&gt;
help           help([name ...])       Display usage and help messages&lt;br /&gt;
quit           quit()                 Quit the shell&lt;br /&gt;
gc             gc()                   Run the garbage collector&lt;br /&gt;
trap           trap([fun, [pc,]] exp) Trap bytecode execution&lt;br /&gt;
untrap         untrap(fun[, pc])      Remove a trap&lt;br /&gt;
line2pc        line2pc([fun,] line)   Map line number to PC&lt;br /&gt;
pc2line        pc2line(fun[, pc])     Map PC to line number&lt;br /&gt;
stringsAreUtf8 stringsAreUTF8()       Check if strings are UTF-8 encoded&lt;br /&gt;
testUtf8       testUTF8(mode)         Perform UTF-8 tests (modes are 1 to 4)&lt;br /&gt;
throwError     throwError()           Throw an error from JS_ReportError&lt;br /&gt;
build          build()                Show build date and time&lt;br /&gt;
clear          clear([obj])           Clear properties of object&lt;br /&gt;
intern         intern(str)            Internalize str in the atom table&lt;br /&gt;
clone          clone(fun[, scope])    Clone function object&lt;br /&gt;
seal           seal(obj[, deep])      Seal object, or object graph if deep&lt;br /&gt;
getpda         getpda(obj)            Get the property descriptors for obj&lt;br /&gt;
getslx         getslx(obj)            Get script line extent&lt;br /&gt;
toint32        toint32(n)             Testing hook for JS_ValueToInt32&lt;br /&gt;
evalcx         evalcx(s[, o])         Evaluate s in optional sandbox object o&lt;br /&gt;
    if (s == &amp;#039;&amp;#039; &amp;amp;&amp;amp; !o) return new o with eager standard classes&lt;br /&gt;
    if (s == &amp;#039;lazy&amp;#039; &amp;amp;&amp;amp; !o) return new o with lazy standard classes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: Seems pretty useless, or just a toy. Couldn&amp;#039;t figure out how to read/write files, execute programs or do other system level operations (although some version do).&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* unix - Executing Javascript without a browser? - Stack Overflow - http://stackoverflow.com/questions/2941411/executing-javascript-without-a-browser&lt;br /&gt;
* Rhino shell - Mozilla | MDN - https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Shell&lt;br /&gt;
&lt;br /&gt;
== jQuery ==&lt;br /&gt;
&lt;br /&gt;
See [[jQuery]]&lt;br /&gt;
&lt;br /&gt;
== Chrome JavaScript Console ==&lt;br /&gt;
&lt;br /&gt;
You can enter JavaScript manually into Chrome&amp;#039;s JavaScript Console. It also has code completion functionality, which is really useful!&lt;br /&gt;
 CTRL + SHIFT + J&lt;br /&gt;
&lt;br /&gt;
Best if you start with a blank page:&lt;br /&gt;
 about:blank&lt;br /&gt;
&lt;br /&gt;
Enter multi line with&lt;br /&gt;
 SHIFT + ENTER&lt;br /&gt;
&lt;br /&gt;
Execute code with&lt;br /&gt;
 ENTER&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var testf = function(count) {&lt;br /&gt;
  for (var i = 0 ; i &amp;lt; count; i++) {&lt;br /&gt;
    console.log(i + &amp;quot; x&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
};&lt;br /&gt;
testf(10);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== code ==&lt;br /&gt;
&lt;br /&gt;
=== comments ===&lt;br /&gt;
&lt;br /&gt;
c style comments&lt;br /&gt;
 // in line comment&lt;br /&gt;
 /* multi&lt;br /&gt;
    line comment */&lt;br /&gt;
&lt;br /&gt;
=== variables ===&lt;br /&gt;
&lt;br /&gt;
 var myvar;&lt;br /&gt;
 var mystr = &amp;quot;hello world\n&amp;quot;;&lt;br /&gt;
 var myint = 1;&lt;br /&gt;
 var myarray = [];&lt;br /&gt;
 var mydict = {};&lt;br /&gt;
 var mybool = false;&lt;br /&gt;
&lt;br /&gt;
=== alert ===&lt;br /&gt;
&lt;br /&gt;
Post message alert to browser&lt;br /&gt;
 alert(&amp;quot;some message&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== prompt ===&lt;br /&gt;
&lt;br /&gt;
Prompt for a response:&lt;br /&gt;
 var name = prompt(&amp;quot;name&amp;quot;);    // null if cancel or x&lt;br /&gt;
&lt;br /&gt;
=== confirm ===&lt;br /&gt;
&lt;br /&gt;
 var answer = confirm(&amp;quot;yes or no?&amp;quot;);    // true, false if cancel or x&lt;br /&gt;
&lt;br /&gt;
=== console ===&lt;br /&gt;
&lt;br /&gt;
Post message to browser&amp;#039;s development console log&lt;br /&gt;
 console.log(&amp;quot;some message&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
=== math ===&lt;br /&gt;
&lt;br /&gt;
 1 + 1;  //  + - * / %&lt;br /&gt;
 3 / 2;  // 1.5&lt;br /&gt;
 3 % 2;  // 1&lt;br /&gt;
 2 + (3 * 2);  // 8&lt;br /&gt;
&lt;br /&gt;
 a &amp;gt; b; // &amp;gt; &amp;gt;= &amp;lt; &amp;lt;=&lt;br /&gt;
&lt;br /&gt;
 ++i;  i++;  // return value before or after decrement&lt;br /&gt;
 --i;  i++;  // only makes a difference with inline math (5 + ++i), which you should avoid anyway&lt;br /&gt;
&lt;br /&gt;
 x += 1; x -= 1;&lt;br /&gt;
 x *= 1; x /= 1;&lt;br /&gt;
&lt;br /&gt;
 var div = Math.floor(y/x);&lt;br /&gt;
 var rem = y % x;&lt;br /&gt;
&lt;br /&gt;
fake integer division: [http://stackoverflow.com/questions/4228356/integer-division-in-javascript]&lt;br /&gt;
 var num = ~~(a / b);&lt;br /&gt;
 var num = (a / b) &amp;gt;&amp;gt; 0;&lt;br /&gt;
&lt;br /&gt;
Random:&lt;br /&gt;
 Math.random();    // 0.898123...&lt;br /&gt;
 Math.floor(Math.random() * 4);    // 0, 1, 2, 3&lt;br /&gt;
&lt;br /&gt;
=== comparision ===&lt;br /&gt;
&lt;br /&gt;
 a == b;   // equal-ish (eg. &amp;quot;5&amp;quot; == 5 or 0 == false)&lt;br /&gt;
 a === b;  // exactly equal (eg. 5 === 5)&lt;br /&gt;
 a !== b;  // not exactly equal (eg. 5 !== 4)&lt;br /&gt;
&lt;br /&gt;
=== boolean ===&lt;br /&gt;
&lt;br /&gt;
 true &amp;amp;&amp;amp; false;  // false&lt;br /&gt;
 true || false;  // true&lt;br /&gt;
 ! true;         // false&lt;br /&gt;
&lt;br /&gt;
=== strings ===&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;hello&amp;quot;;&lt;br /&gt;
 &amp;#039;hello&amp;#039;;&lt;br /&gt;
 &amp;quot;hello&amp;quot; + &amp;quot;world&amp;quot;;&lt;br /&gt;
 &amp;quot;hello world&amp;quot;.slice(2, 4);  // &amp;quot;ll&amp;quot; (start, end+1)&lt;br /&gt;
 &amp;quot;hello&amp;quot;.length;  // 5&lt;br /&gt;
 &amp;quot;hello&amp;quot;[0];      // &amp;quot;h&amp;quot;&lt;br /&gt;
 &amp;quot;hello&amp;quot;.toUpperCase();&lt;br /&gt;
 &amp;quot;hello&amp;quot;.toLowerCase();&lt;br /&gt;
&lt;br /&gt;
 const fruit = [&amp;#039;apple&amp;#039;, &amp;#039;bananna&amp;#039;];&lt;br /&gt;
 if(fruit.includes(&amp;#039;apple&amp;#039;, 0)) { ... }&lt;br /&gt;
&lt;br /&gt;
=== null and undefined ===&lt;br /&gt;
&lt;br /&gt;
 var myVariable;  // myVariable is undefniend (eg. myVariable === undefined)&lt;br /&gt;
 var myVariable = null;  // myVariable is null - used to deliberately say it is empty (eg. myVariable === null)&lt;br /&gt;
&lt;br /&gt;
=== if ===&lt;br /&gt;
&lt;br /&gt;
 if (condition) { ... }&lt;br /&gt;
 else if (condition) { ... }&lt;br /&gt;
 else { ... }&lt;br /&gt;
&lt;br /&gt;
=== loops ===&lt;br /&gt;
&lt;br /&gt;
 while (condition) { ... }&lt;br /&gt;
&lt;br /&gt;
 // for (setup; condition; increment) { ... }&lt;br /&gt;
 for (var i = 0; i &amp;lt; max; i++) { ... }&lt;br /&gt;
&lt;br /&gt;
 for (var key in obj) { ... }&lt;br /&gt;
&lt;br /&gt;
 break;&lt;br /&gt;
 continue;&lt;br /&gt;
&lt;br /&gt;
=== function ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// function declaration version&lt;br /&gt;
function myfunc(var1, var2) { return false; }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// function expression version&lt;br /&gt;
var myfunc = function(var) { ... };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// call function&lt;br /&gt;
var value = myfunc(var);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
--- unlimited arguments ---&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function manyArgs() {&lt;br /&gt;
  var args = [];&lt;br /&gt;
  for (var i = 0; i &amp;lt; arguments.length; ++i) args[i] = arguments[i];&lt;br /&gt;
  // ...&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function foo() {&lt;br /&gt;
  var args = Array.prototype.slice.call(arguments, 0);&lt;br /&gt;
  // ...&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Source: http://stackoverflow.com/questions/6396046/unlimited-arguments-in-a-javascript-function&lt;br /&gt;
&lt;br /&gt;
=== array ===&lt;br /&gt;
&lt;br /&gt;
 var myarray = [];  // empty array&lt;br /&gt;
&lt;br /&gt;
 var myarray = [&amp;quot;1&amp;quot;, 2, 3.141];&lt;br /&gt;
 myarray[0];    // &amp;quot;1&amp;quot;&lt;br /&gt;
 myarray.length;    // 3&lt;br /&gt;
 myarray.indexOf(&amp;quot;1&amp;quot;);    // 0&lt;br /&gt;
 myarray[myarray.length - 1];    // returns last item (eg 3.141)&lt;br /&gt;
&lt;br /&gt;
 myarray.unshift(&amp;quot;first&amp;quot;);    // returns new size of array and puts item at front&lt;br /&gt;
 myarray.push(&amp;quot;last&amp;quot;);    // returns new size of array and puts item on end&lt;br /&gt;
 myarray.pop();    // returns last item and removes it&lt;br /&gt;
 myarray.shift();    // returns first item and removes it&lt;br /&gt;
 // Stacks: Last In, First Out (LIFO)&lt;br /&gt;
 // Queues: First In, First Out (FIFO)&lt;br /&gt;
&lt;br /&gt;
 firstArray.concat(secondArray);    // join 2 arrays&lt;br /&gt;
 firstArray.concat(secondArray, thirdArray, ...);    // join multiple arrays&lt;br /&gt;
&lt;br /&gt;
 var multiarray = [&amp;quot;1&amp;quot;, [&amp;quot;name&amp;quot;, &amp;quot;date&amp;quot;], 2];&lt;br /&gt;
 multiarray[1][0];    // &amp;quot;name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 var mystr = myarray.join();    // join array to string separated by commas (no spaces)&lt;br /&gt;
 var mystr = myarray.join(&amp;quot;, &amp;quot;);    // join array to string separated by commas and spaces&lt;br /&gt;
&lt;br /&gt;
 var keys = []&lt;br /&gt;
 for (var key in obj) {&lt;br /&gt;
   if (obj.hasOwnProperty(key)) {&lt;br /&gt;
     keys.push(key);&lt;br /&gt;
 }&lt;br /&gt;
 keys.sort();&lt;br /&gt;
&lt;br /&gt;
=== random ===&lt;br /&gt;
&lt;br /&gt;
 function getRandomNumber(minimum, maximum) {&lt;br /&gt;
   rno = Math.floor(Math.random() * (maximum - minimum + 1)) + minimum;&lt;br /&gt;
   return rno&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== json ===&lt;br /&gt;
&lt;br /&gt;
[[JSON]] is native JavaScript Object Notation!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var testdata = [&lt;br /&gt;
                { &amp;quot;apple&amp;quot;: { &amp;quot;size&amp;quot;: 1163, &amp;quot;color&amp;quot;: &amp;quot;red&amp;quot; } },&lt;br /&gt;
                { &amp;quot;pumpkin&amp;quot;: { &amp;quot;size&amp;quot;: 916, &amp;quot;color&amp;quot;: &amp;quot;orange&amp;quot; } },&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Objects ===&lt;br /&gt;
&lt;br /&gt;
 var myemptyobj = {};&lt;br /&gt;
&lt;br /&gt;
 // build object with &amp;quot;object literal&amp;quot;&lt;br /&gt;
 var myobj = {&amp;quot;name&amp;quot;: &amp;quot;test&amp;quot;,&lt;br /&gt;
              &amp;quot;color&amp;quot;: &amp;quot;blue&amp;quot;};    // created with an &amp;quot;object literal&amp;quot; - coding whole value all at once&lt;br /&gt;
 var myobj = {color: &amp;quot;blue&amp;quot;,&lt;br /&gt;
              &amp;quot;full name&amp;quot;: &amp;quot;mr smith&amp;quot;};    // keys are always strings, so quotes only needed with spaces&lt;br /&gt;
&lt;br /&gt;
 // access object items&lt;br /&gt;
 myobj[&amp;quot;name&amp;quot;];&lt;br /&gt;
 var val = myobj[key];&lt;br /&gt;
 myobj.name;    // dot notation, only works if key doesn&amp;#039;t have spaces&lt;br /&gt;
 Object.keys(myobj);  // array of keys&lt;br /&gt;
&lt;br /&gt;
 // build object afterwards&lt;br /&gt;
 var myobj = {};&lt;br /&gt;
 myobj[&amp;quot;name&amp;quot;] = &amp;quot;mr smith&amp;quot;;  // building object afterwards&lt;br /&gt;
 myobj.color = &amp;quot;blue&amp;quot;;  // dot notaiton, only works if key doesn&amp;#039; thave spaces&lt;br /&gt;
&lt;br /&gt;
 // array of objects&lt;br /&gt;
 myarray = [ { name: &amp;quot;test&amp;quot; }, ... ];&lt;br /&gt;
 myarray[0][&amp;quot;name&amp;quot;];&lt;br /&gt;
 myarray[0].name;&lt;br /&gt;
&lt;br /&gt;
 // functions can be attached, and this object can be referenced with &amp;#039;this&amp;#039;&lt;br /&gt;
 myobj.myfunc = function() { ...; this.some_property; }&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
&lt;br /&gt;
There are no classes in JavaScript (no inheritance).  Just functions/objects with sub functions/objects/properties.&lt;br /&gt;
&lt;br /&gt;
== Advanced Code ==&lt;br /&gt;
&lt;br /&gt;
=== Objects Advanced ===&lt;br /&gt;
&lt;br /&gt;
Constructor - function that creates objects and gives them a set of built-in properties and methods&lt;br /&gt;
 var MyObj = function(x, y) { this.x = x; this.y = y; };&lt;br /&gt;
 var obj = new MyObj(var1, var2);&lt;br /&gt;
&lt;br /&gt;
Prototypes - defines methods for constructor&lt;br /&gt;
 var MyObj = function(x, y) { this.x = x; this.y = y; };&lt;br /&gt;
 MyObj.prototype.draw = function () { ... }&lt;br /&gt;
 var obj = new MyObj(1, 2);&lt;br /&gt;
 obj.draw();&lt;br /&gt;
&lt;br /&gt;
=== Introspection and Reflection ===&lt;br /&gt;
&lt;br /&gt;
reflection provides a mechanism to self-inspect and manipulate its member attributes and methods&lt;br /&gt;
&lt;br /&gt;
 typeof &amp;quot;John&amp;quot;                // Returns string&lt;br /&gt;
 typeof 3.14                  // Returns number&lt;br /&gt;
 typeof false                 // Returns boolean&lt;br /&gt;
 typeof [1,2,3,4]             // Returns object&lt;br /&gt;
 typeof {name:&amp;#039;John&amp;#039;, age:34} // Returns object &lt;br /&gt;
&lt;br /&gt;
 Object.getOwnPropertyNames(obj);  // Returns all property names&lt;br /&gt;
&lt;br /&gt;
 for (var key in obj) { console.log(key); }&lt;br /&gt;
&lt;br /&gt;
Getting an Object&amp;#039;s Public Attributes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  var getProperties = function(obj) {&lt;br /&gt;
    var properties = [];&lt;br /&gt;
    for (var prop in obj) {&lt;br /&gt;
      if (typeof obj[prop] != &amp;#039;function&amp;#039;) {&lt;br /&gt;
        properties.push(prop);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return properties;&lt;br /&gt;
  };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Getting All the Public Methods of a Class&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
  var getMethods = function(obj) {&lt;br /&gt;
    var methods = [];&lt;br /&gt;
    for (var method in obj) {&lt;br /&gt;
      if (typeof obj[method] == &amp;#039;function&amp;#039;) {&lt;br /&gt;
        methods.push(method);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    return methods;&lt;br /&gt;
  };&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* Object Reflection in JavaScript - http://www.htmlgoodies.com/tutorials/web_graphics/object-reflection-in-javascript.html&lt;br /&gt;
&lt;br /&gt;
=== DOM ===&lt;br /&gt;
&lt;br /&gt;
Document Object Model (DOM) - access content of a web page&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;h1 id=&amp;quot;main&amp;quot;&amp;gt;Hello&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var mainElement = document.getElementById(&amp;quot;main&amp;quot;);&lt;br /&gt;
mainElement.innerHTML;&lt;br /&gt;
mainElement.innerHTML = newHTML;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Document:&lt;br /&gt;
 document.write(someHTML);&lt;br /&gt;
&lt;br /&gt;
=== Timeout ===&lt;br /&gt;
&lt;br /&gt;
 var timeout_id = setTimeout(func, timeout);  // timeout in milliseconds&lt;br /&gt;
&lt;br /&gt;
 clearTimeout(timeout_id);&lt;br /&gt;
&lt;br /&gt;
 // Repeating timeout&lt;br /&gt;
 var timeout_id = setInterval(func, interval);  // interval in milliseconds&lt;br /&gt;
&lt;br /&gt;
=== jQuery ===&lt;br /&gt;
&lt;br /&gt;
See [[jQuery]]&lt;br /&gt;
&lt;br /&gt;
=== Canvas ===&lt;br /&gt;
&lt;br /&gt;
drawing on the canvas&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;canvas id=&amp;quot;canvas&amp;quot; width=&amp;quot;200&amp;quot; height=&amp;quot;200&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
var canvas = document.getElementById(&amp;quot;canvas&amp;quot;);&lt;br /&gt;
var ctx = canvas.getContext(&amp;quot;2d&amp;quot;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// draw text&lt;br /&gt;
ctx.font = &amp;quot;20px Courier&amp;quot;;&lt;br /&gt;
ctx.fillStyle = &amp;quot;Black&amp;quot;;&lt;br /&gt;
ctx.textAlign = &amp;quot;left&amp;quot;;  // left, center, right&lt;br /&gt;
ctx.textBaseline = &amp;quot;top&amp;quot;;  // bottom, middle, top&lt;br /&gt;
ctx.fillText(&amp;quot;hello world&amp;quot;, 50, 50);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// draw solid square&lt;br /&gt;
ctx.fillStyle = &amp;quot;Red&amp;quot;;&lt;br /&gt;
ctx.fillRect(0, 0, 10, 10);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// draw rectangle&lt;br /&gt;
ctx.strokeStyle = &amp;quot;DeepPink&amp;quot;;&lt;br /&gt;
ctx.lineWidth = 4;&lt;br /&gt;
ctx.strokeRect(10, 10, 100, 20);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// draw lines&lt;br /&gt;
ctx.strokeStyle = &amp;quot;Turquoise&amp;quot;;&lt;br /&gt;
ctx.lineWidth = 4;&lt;br /&gt;
ctx.beginPath();&lt;br /&gt;
ctx.moveTo(10, 10);&lt;br /&gt;
ctx.lineTo(60, 60);&lt;br /&gt;
ctx.moveTo(60, 10);&lt;br /&gt;
ctx.lineTo(10, 60);&lt;br /&gt;
ctx.stroke();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// draw fill path&lt;br /&gt;
ctx.fillStyle = &amp;quot;SkyBlue&amp;quot;;&lt;br /&gt;
ctx.beginPath();&lt;br /&gt;
ctx.moveTo(100, 100);&lt;br /&gt;
ctx.lineTo(100, 60);&lt;br /&gt;
ctx.lineTo(130, 30);&lt;br /&gt;
ctx.lineTo(160, 60);&lt;br /&gt;
ctx.lineTo(160, 100);&lt;br /&gt;
ctx.lineTo(100, 100);&lt;br /&gt;
ctx.fill();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// draw circle&lt;br /&gt;
// 0 radians = 0 degrees&lt;br /&gt;
// pi / 2 radians = 90 degrees&lt;br /&gt;
// pi radians = 180 degrees&lt;br /&gt;
// pi * 3/2 radians = 270 degrees&lt;br /&gt;
// pi * 2 radians = 360 degrees&lt;br /&gt;
ctx.lineWidth = 2;&lt;br /&gt;
ctx.strokeStyle = &amp;quot;Green&amp;quot;;&lt;br /&gt;
ctx.beginPath();&lt;br /&gt;
ctx.arc(50, 50, 20, 0, Math.PI / 2, false);&lt;br /&gt;
ctx.stroke();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
// draw circle function&lt;br /&gt;
var circle = function (x, y, radius) {&lt;br /&gt;
  ctx.beginPath();&lt;br /&gt;
  ctx.arc(x, y, radius, 0, Math.PI * 2, false);&lt;br /&gt;
  ctx.stroke();&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Colors: http://css-tricks.com/snippets/css/named-colors-and-hex-equivalents/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Sample Bee ---&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;canvas id=&amp;quot;canvas&amp;quot; width=&amp;quot;200&amp;quot; height=&amp;quot;200&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt;&lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
var circle = function (x, y, radius, fillCircle) {&lt;br /&gt;
 ctx.beginPath();&lt;br /&gt;
 ctx.arc(x, y, radius, 0, Math.PI * 2, false);&lt;br /&gt;
 if (fillCircle) {&lt;br /&gt;
  ctx.fill();&lt;br /&gt;
 } else {&lt;br /&gt;
  ctx.stroke();&lt;br /&gt;
 }&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var drawBee = function (x, y) {&lt;br /&gt;
 ctx.lineWidth = 2;&lt;br /&gt;
 ctx.strokeStyle = &amp;quot;Black&amp;quot;;&lt;br /&gt;
 ctx.fillStyle = &amp;quot;Gold&amp;quot;;&lt;br /&gt;
 circle(x, y, 8, true);&lt;br /&gt;
 circle(x, y, 8, false);&lt;br /&gt;
 circle(x - 5, y - 11, 5, false);&lt;br /&gt;
 circle(x + 5, y - 11, 5, false);&lt;br /&gt;
 circle(x - 2, y - 1, 2, false);&lt;br /&gt;
 circle(x + 2, y - 1, 2, false);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var update = function (coordinate) {&lt;br /&gt;
 var offset = Math.random() * 4 - 2;&lt;br /&gt;
 coordinate += offset;&lt;br /&gt;
 if (coordinate &amp;gt; 200) {&lt;br /&gt;
  coordinate = 200;&lt;br /&gt;
 }&lt;br /&gt;
 if (coordinate &amp;lt; 0) {&lt;br /&gt;
  coordinate = 0;&lt;br /&gt;
 }&lt;br /&gt;
  return coordinate;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
var canvas = document.getElementById(&amp;quot;canvas&amp;quot;);&lt;br /&gt;
var ctx = canvas.getContext(&amp;quot;2d&amp;quot;);&lt;br /&gt;
var x = 100;&lt;br /&gt;
var y = 100;&lt;br /&gt;
&lt;br /&gt;
setInterval(function () {&lt;br /&gt;
 ctx.clearRect(0, 0, 200, 200);&lt;br /&gt;
 drawBee(x, y);&lt;br /&gt;
 x = update(x);&lt;br /&gt;
 y = update(y);&lt;br /&gt;
 ctx.strokeRect(0, 0, 200, 200);&lt;br /&gt;
}, 30);&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Epoch Timestamp ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
if (!Date.now) {&lt;br /&gt;
    Date.now = function() { return new Date().getTime(); }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* datetime - How do you get a timestamp in JavaScript? - Stack Overflow - http://stackoverflow.com/questions/221294/how-do-you-get-a-timestamp-in-javascript&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
=== Dim Image ===&lt;br /&gt;
&lt;br /&gt;
 this.style.opacity=0.6&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        function dimImage(tagid) {&lt;br /&gt;
            var img = document.getElementById(tagid);&lt;br /&gt;
            img.style.opacity = 0.6;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        function undimImage(tagid) {&lt;br /&gt;
            var img = document.getElementById(tagid);&lt;br /&gt;
            img.style.opacity = 1;&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* javascript - How to darken an image on mouseover? - Stack Overflow - http://stackoverflow.com/questions/1747637/how-to-darken-an-image-on-mouseover&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== keywords ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Web Development ‎]]&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
	</entry>
</feed>