{"id":989,"date":"2019-01-22T17:25:12","date_gmt":"2019-01-22T17:25:12","guid":{"rendered":"http:\/\/ucsbwebdev.local\/?p=989"},"modified":"2019-01-22T17:25:12","modified_gmt":"2019-01-22T17:25:12","slug":"learn-programming-javascript-basics","status":"publish","type":"post","link":"https:\/\/ucsbwebdev.fzilla.com\/?p=989","title":{"rendered":"Learn Programming \/ JavaScript Basics"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">The \u201cscript\u201d tag<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">JavaScript programs can be inserted into any part of an HTML document with the help of the&nbsp;<code>&lt;script&gt;<\/code>&nbsp;tag.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For instance:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE HTML>\n&lt;html>\n\n&lt;body>\n\n  &lt;p>Before the script...&lt;\/p>\n\n  &lt;script>\n    alert( 'Hello, world!' );\n  &lt;\/script>\n\n  &lt;p>...After the script.&lt;\/p>\n\n&lt;\/body>\n\n&lt;\/html><\/code><\/pre>\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">alert(\"Thanks for your input!\");\n<\/pre>\n<p>Let&#8217;s say my name is Mark, and I want to store this information in the browser.<\/p>\n<p>A variable is created when you write var (for variable) followed by the name that you choose to give it. It takes on a particular value when you assign the value to it. This is a JavaScript statement that creates the variable name and assigns the value &#8220;Mark&#8221; to it<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var name = \"Mark\";<\/pre>\n<p>Now the variable name refers to the text string &#8220;Mark&#8221;. Note that it was my choice to call it name. I could have called it myName, xyz, lol, or something else. It&#8217;s up to me how to name my variables, within limits.<\/p>\n<p>name refers to &#8220;Mark&#8221;. Then I come along and code the line&#8230;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">name = \"Ace\";\n<\/pre>\n<p>Before I coded the new line, if I asked JavaScript to print name, it printed&#8230; Mark But that was then. Now if I ask JavaScript to print name, it prints&#8230; Ace<\/p>\n<p>Alerting the name variable!<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">alert(name);<\/pre>\n<p>What do the quotes mean, and what happens if I omit the quotes?&nbsp;The syntactic difference between variables and text strings is that variables are never enclosed in quotes, and text strings are always enclosed in quotes.<\/p>\n<p>A string isn&#8217;t the only thing you can assign to a variable. You can also assign a number.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var weight = 150;\n<\/pre>\n<p>Having coded the statement above, whenever you write weight in your code, JavaScript knows you mean 150. You can use this variable in math calculations. If you ask JavaScript to add 25 to weight&#8230;<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var newWeight = weight + 25;\nalert(newWeight); \/\/ will say 175<\/pre>\n<p>JavaScript can also handle an expression made up of nothing but variables. For example<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var originalNum = 23;\nvar numToBeAdded = 7; \nvar newNum = originalNum + numToBeAdded; \/\/ newNum equals 30\n<\/pre>\n<h2>Working with strings<\/h2>\n<p>suppose you wanted to personalize a message. In another part of your code you&#8217;ve asked the user for her name and assigned the name that she entered to a variable, userName. (You don&#8217;t know how to do this yet. You&#8217;ll learn how in a subsequent chapter.) Now, you want to combine her name with a standard &#8220;Thanks&#8221; to produce an alert that says, for example, &#8220;Thanks, Susan!&#8221; When the user-provided her name, we assigned it to the variable userName. This is the code.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">alert(\"Thanks, \" + userName + \"!\");<\/pre>\n<p>Using the plus operator, the code combines\u2014concatenates\u2014three elements into the message: the string &#8220;Thanks, &#8221; plus the string represented by the variable userName plus the string &#8220;!&#8221; Note that the first string includes a space. Without it, the alert would read, &#8220;Thanks,Susan!&#8221;. You can concatenate any combination of strings and variables, or all strings or all variables. For example, I can rewrite the last example this way<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var message = \"Thanks, \";\nvar banger = \"!\";\nalert(message + userName + banger);\n<\/pre>\n<h3>Trick question:<\/h3>\n<p>What will be alerted here<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">alert(\"2\"+\"2\");<\/pre>\n<p>Now you try it:<\/p>\n<p><strong>TIP:&nbsp;<\/strong>Use this link <a href=\"http:\/\/x.co\/jslinks\" target=\"_blank\" rel=\"noopener\">http:\/\/x.co\/jslinks<\/a> to automatically open all the following items in new tabs<\/p>\n<ul>\n<li><a href=\"https:\/\/www.w3schools.com\/js\/exercise_js.asp?filename=exercise_js_variables1\" target=\"_blank\" rel=\"noopener\">https:\/\/www.w3schools.com\/js\/exercise_js.asp?filename=exercise_js_variables1<\/a><\/li>\n<li><a class=\"\" href=\"https:\/\/www.w3schools.com\/js\/exercise_js.asp?filename=exercise_js_variables4\" target=\"_blank\" rel=\"noopener\">https:\/\/www.w3schools.com\/js\/exercise_js.asp?filename=exercise_js_variables4<\/a><\/li>\n<li><a href=\"https:\/\/www.w3schools.com\/js\/exercise_js.asp?filename=exercise_js_variables5\" target=\"_blank\" rel=\"noopener\">https:\/\/www.w3schools.com\/js\/exercise_js.asp?filename=exercise_js_variables5<\/a><\/li>\n<li><a href=\"https:\/\/www.w3schools.com\/js\/exercise_js.asp?filename=exercise_js_strings3\" target=\"_blank\" rel=\"noopener\">https:\/\/www.w3schools.com\/js\/exercise_js.asp?filename=exercise_js_strings3<\/a><\/li>\n<\/ul>\n<h2>Prompts<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var spec = prompt(\"Ask some question?\", \"default value?\");\n<\/pre>\n<p>Prompt code is like alert code, with two differences.<\/p>\n<ul>\n<li>In a prompt, you need a way to capture the user&#8217;s response. That means you need to start<br>by declaring a variable, followed by an equal sign.<\/li>\n<li>In a prompt, you can specify a second string. This is the default response that appears in<br>the field when the prompt displays. If the user leaves the default response as-is and just<br>clicks OK, the default response is assigned to the variable. It&#8217;s up to you whether you<br>include a default response.<\/li>\n<\/ul>\n<p>As you might expect, you can assign the strings to variables, then specify the variables<br>instead of strings inside the parentheses.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var question = \"Your species?\";\nvar defaultAnswer = \"human\";\nvar spec = prompt(question, defaultAnswer);\n<\/pre>\n<p>The user&#8217;s response is a text string. Even if the response is a number, it comes back as a<br>string. For example, consider this code.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var numberOfCats = prompt(\"How many cats?\"); \/\/enter 5\nvar tooManyCats = numberOfCats + 1; \/\/ will get 51<\/pre>\n<p>To fix this problem we can use a JS helper function called <strong>parseInt,&nbsp;<\/strong>which takes a string and tries to figure out what the number would be inside the string<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var numberOfCats = prompt(\"How many cats?\"); \/\/enter 5\nvar tooManyCats = parseInt(numberOfCats) + 1; \/\/ will get 6\n<\/pre>\n<h2>If Statements<\/h2>\n<p>Suppose you code a prompt that asks, &#8220;Where does the Pope live?&#8221; If the user answers correctly, you display an alert congratulating him. This is the code.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var x = prompt(\"Where does the Pope live?\");\nif (x === \"Vatican\") {\n  alert(\"Correct!\");\n}<\/pre>\n<p>If the user enters &#8220;Vatican&#8221; in the prompt field, the congratulations alert displays. If he enters something else, nothing happens. (This simplified code doesn&#8217;t allow for other correct answers, like &#8220;The Vatican.&#8221; I don&#8217;t want to get into that now.)<\/p>\n<p>So let&#8217;s make a trivia game!<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var score = 0;\n\nvar x = prompt(\"Where does the Pope live?\");\nif (x === \"Vatican\") {\n    alert(\"Correct!\");\n    score = score + 1;\n} \n\nvar z = prompt(\"Where does Angel live?\");\nif (z === \"Santa Barbara\") {\n    alert(\"Correct!\");\n    score = score + 1;\n}\n\nalert(\"You got a score of: \" + score + \" out of 2\");\n<\/pre>\n<p>What if we want something that DOES NOT equal the other value?<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var x = prompt(\"Where does the Pope live?\");\n\nif (x === \"Vatican\") {\n    alert(\"Correct!\");\n    score = score + 1;\n} \nif (x !== \"Vatican\") { \n    alert(\"Sorry incorrect!\"); \n} \n<\/pre>\n<p>So if it !== doesn&#8217;t equal we do something else. But typically it&#8217;s easier to say &#8220;IF this then do that ELSE do the other thing&#8221; which looks like this<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">var x = prompt(\"Where does the Pope live?\");\n\nif (x === \"Vatican\") {\n    alert(\"Correct!\");\n    score = score + 1;\n} else {\n    alert(\"Sorry incorrect!\"); \n} \n<\/pre>\n<p>That&#8217;s much better.<\/p>\n<h2>Functions<\/h2>\n<p>Sometimes we want to be able to run the same code one or many times, to do this we can store a set of code inside a function and call it at a later time. This also keeps our code organized!<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\/\/ Create a function\nfunction nameMe() {\n    alert(\"My Name is Angel\");\n}\n\n\/\/ Call the function to run the code inside it\nnameMe();<\/pre>\n<p>Functions become really useful when you also pass data inside of them with a parameter like so:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\/\/ Create a function\nfunction nameMe(name) {\n    alert(\"My Name is \" + name);\n}\n\n\/\/ Call the function to run the code inside it\nnameMe(\"Angel\");<\/pre>\n<p>You can even pass the value we got from a prompt!<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\/\/ Create a function\nfunction nameMe(name) {\n    alert(\"My Name is \" + name);\n}\n\nvar setMyName = prompt(\"What is your name?\");\nnameMe(setMyName);<\/pre>\n<h2>Handling a click<\/h2>\n<p>The easiest way to handle a click is the use an html attribute called <strong>onclick<\/strong><\/p>\n<p class='codepen'  data-height='327' data-theme-id='32466' data-slug-hash='bzGOXa' data-default-tab='html,result' data-animations='run' data-editable='1' data-embed-version='2' data-preview='true'>\nSee the Pen bzGOXa by Angel Grablev (@agrublev) on CodePen.<\/p>\n\n<p>So we create a div, then simply add the onclick attribute with a value that will call our function when clicked like this:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">&lt;div onclick=\"quiz()\"&gt;CLICK&lt;\/div&gt;\n\n&lt;script&gt;\nfunction quiz() {\n    var score = 0;\n\n    var x = prompt(\"Where does the Pope live?\");\n    if (x === \"Vatican\") {\n        alert(\"Correct!\");\n        score = score + 1;\n    }\n\n    var z = prompt(\"Where does Angel live?\");\n    if (z === \"Santa Barbara\") {\n        alert(\"Correct!\");\n        score = score + 1;\n    }\n\n    alert(\"You got a score of: \" + score + \" out of 2\");\n}\n&lt;\/script&gt;<\/pre>\n\n\n<h2 class=\"wp-block-heading\" id=\"hwlink\">Homework!<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"http:\/\/silentteacher.toxicode.fr\/hourofcode\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">http:\/\/silentteacher.toxicode.fr\/hourofcode<\/a> <ul><li>Only go up to this highlighted area <\/li><\/ul><\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/ucsbwebdev.local\/wp-content\/uploads\/2019\/01\/image-2-1024x857.png\" alt=\"\" class=\"wp-image-1013\" width=\"300\" height=\"300\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/declare-javascript-variables\/\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/declare-javascript-variables\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/initializing-variables-with-the-assignment-operator\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/initializing-variables-with-the-assignment-operator\/<\/a><\/li><li><a class=\"\" rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/storing-values-with-the-assignment-operator\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/storing-values-with-the-assignment-operator\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/understanding-uninitialized-variables\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/understanding-uninitialized-variables\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/understanding-case-sensitivity-in-variables\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/understanding-case-sensitivity-in-variables\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/add-two-numbers-with-javascript\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/add-two-numbers-with-javascript\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/subtract-one-number-from-another-with-javascript\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/subtract-one-number-from-another-with-javascript\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/multiply-two-numbers-with-javascript\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/multiply-two-numbers-with-javascript\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/declare-string-variables\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/declare-string-variables\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/concatenating-strings-with-plus-operator\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/concatenating-strings-with-plus-operator\/<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/appending-variables-to-strings\/\" target=\"_blank\">https:\/\/learn.freecodecamp.org\/javascript-algorithms-and-data-structures\/basic-javascript\/appending-variables-to-strings\/<\/a><\/li><li><a rel=\"noreferrer noopener\" aria-label=\"https:\/\/www.codecademy.com\/courses\/introduction-to-javascript\/lessons\/control-flow\/exercises\/control-flow-intro (opens in a new tab)\" href=\"https:\/\/www.codecademy.com\/courses\/introduction-to-javascript\/lessons\/control-flow\/exercises\/control-flow-intro\" target=\"_blank\">https:\/\/www.codecademy.com\/courses\/introduction-to-javascript\/lessons\/control-flow\/exercises\/control-flow-intro<\/a><\/li><li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.codecademy.com\/courses\/introduction-to-javascript\/lessons\/variables\/exercises\/intro-variables?action=resume_content_item\" target=\"_blank\">https:\/\/www.codecademy.com\/courses\/introduction-to-javascript\/lessons\/variables\/exercises\/intro-variables?action=resume_content_item<\/a><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">And if you have time for fun do this tutorial:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.codeavengers.com\/web-development\/100#1.1\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">https:\/\/www.codeavengers.com\/web-development\/100#1.1<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It provides video guides AND a solution button up to the top right!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Additional exercises\/Reading materials<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"http:\/\/eloquentjavascript.net\/code\/\">http:\/\/eloquentjavascript.net\/code\/<\/a><\/li><li><a href=\"http:\/\/jsforcats.com\/\">http:\/\/jsforcats.com\/<\/a><\/li><li><\/li><li><a href=\"http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/makingstuffhappen\/\">http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/makingstuffhappen\/<\/a><\/li><li><a href=\"http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/variables\/\">http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/variables\/<\/a><\/li><li><a href=\"http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/math\/\">http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/math\/<\/a><\/li><li><a href=\"http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/logic\/\">http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/logic\/<\/a><\/li><li><a href=\"http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/conditional\/\">http:\/\/www.htmldog.com\/guides\/javascript\/beginner\/conditional\/<\/a><\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once you feel comfortable with all that give this article a look:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-ucsb\"><div class=\"wp-block-embed__wrapper\">\nhttp:\/\/ucsbwebdev.local\/index.php\/2018\/05\/12\/the-ultimate-javascript-introduction\/\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">And watch this video: <\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-ucsb\"><div class=\"wp-block-embed__wrapper\">\nhttp:\/\/ucsbwebdev.local\/index.php\/2018\/05\/14\/javascript-additional-training-saturday-may-12th-recording\/\n<\/div><\/figure>\n\n\n\n<p style=\"height:800px\"> <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">TO BE ADDED LATER (IGNORE):<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Learn\/Getting_started_with_the_web\/JavaScript_basics\">https:\/\/developer.mozilla.org\/en-US\/docs\/Learn\/Getting_started_with_the_web\/JavaScript_basics<\/a><\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-rich is-provider-codepen\"><div class=\"wp-block-embed__wrapper\">\n<iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" title=\"YBzBax\" src=\"https:\/\/codepen.io\/agrublev\/embed\/preview\/YBzBax?default-tabs=js%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=YBzBax#?secret=jNj06hWrsj\" data-secret=\"jNj06hWrsj\" scrolling=\"no\" frameborder=\"0\" height=\"300\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>The \u201cscript\u201d tag JavaScript programs can be inserted into any part of an HTML document with the help of the&nbsp;&lt;script&gt;&nbsp;tag. For instance: alert(&#8220;Thanks for your input!&#8221;); Let&#8217;s say my name is Mark, and I want to store this information in the browser. A variable is created when you write var (for variable) followed by the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,9],"tags":[],"class_list":["post-989","post","type-post","status-publish","format-standard","hentry","category-exercises","category-js"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=\/wp\/v2\/posts\/989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=989"}],"version-history":[{"count":0,"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=\/wp\/v2\/posts\/989\/revisions"}],"wp:attachment":[{"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ucsbwebdev.fzilla.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}