# JavaScript tutorial (Part 1)

**URL:** <https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420>\
**Category:** Tutorials (Here's how to...)\
**Tags:** javascript, wiki\
**Created:** [October 3, 2020, 12:06am UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420 "2020-10-03T00:06:56Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![18001767679](https://forum.snap.berkeley.edu/letter_avatar_proxy/v4/letter/1/839c29/32.png) [@18001767679](https://forum.snap.berkeley.edu/u/18001767679)\
**Post date:** [October 3, 2020, 1:09am UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/21 "2020-10-03T01:09:50Z")

</div>

Mutal exclusion lock.  
Used to control multithreading.

---

<div class="post-metadata">

**Author:** ![funtime\_foxy101](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/funtime_foxy101/32/21076_2.png) [@funtime\_foxy101](https://forum.snap.berkeley.edu/u/funtime_foxy101)\
**Post date:** [October 3, 2020, 1:12am UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/22 "2020-10-03T01:12:41Z")

</div>

Oh, I think there is a way to see the JS coding for the Snap_!_ Forums website by clicking `ctrl`, `shift` and `a letter`.

---

<div class="post-metadata">

**Author:** ![18001767679](https://forum.snap.berkeley.edu/letter_avatar_proxy/v4/letter/1/839c29/32.png) [@18001767679](https://forum.snap.berkeley.edu/u/18001767679)\
**Post date:** [October 3, 2020, 1:17am UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/23 "2020-10-03T01:17:54Z")

</div>

ctrl-shift-i  
edit:oof bruhy it shoulc be ctrl shift c or f12

---

<div class="post-metadata">

**Author:** ![funtime\_foxy101](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/funtime_foxy101/32/21076_2.png) [@funtime\_foxy101](https://forum.snap.berkeley.edu/u/funtime_foxy101)\
**Post date:** [October 3, 2020, 1:19am UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/24 "2020-10-03T01:19:45Z")

</div>

Ehhh, it's not the console, (you can't edit anything) and plus I did this when I was blocked..... Also how did you do that fancy square thing around your text?

---

<div class="post-metadata">

**Author:** ![18001767679](https://forum.snap.berkeley.edu/letter_avatar_proxy/v4/letter/1/839c29/32.png) [@18001767679](https://forum.snap.berkeley.edu/u/18001767679)\
**Post date:** [October 3, 2020, 1:20am UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/25 "2020-10-03T01:20:22Z")

</div>

`<kbd></kbd>`

---

<div class="post-metadata">

**Author:** ![programmer\_user](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/programmer_user/32/22361_2.png) [@programmer\_user](https://forum.snap.berkeley.edu/u/programmer_user)\
**Post date:** [October 3, 2020, 1:12pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/37 "2020-10-03T13:12:05Z")

</div>

Please don't get off-topic @18001767679 @snapenilk @SuperSean12 @FUNTIME_FOXY101

---

<div class="post-metadata">

**Author:** ![18001767679](https://forum.snap.berkeley.edu/letter_avatar_proxy/v4/letter/1/839c29/32.png) [@18001767679](https://forum.snap.berkeley.edu/u/18001767679)\
**Post date:** [October 3, 2020, 1:15pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/38 "2020-10-03T13:15:36Z")

</div>

ok

---

<div class="post-metadata">

**Author:** ![programmer\_user](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/programmer_user/32/22361_2.png) [@programmer\_user](https://forum.snap.berkeley.edu/u/programmer_user)\
**Post date:** [October 3, 2020, 3:00pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/39 "2020-10-03T15:00:01Z")

</div>

@FUNTIME_FOXY101 the code snippet in your signature doesn't work.

---

<div class="post-metadata">

**Author:** ![funtime\_foxy101](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/funtime_foxy101/32/21076_2.png) [@funtime\_foxy101](https://forum.snap.berkeley.edu/u/funtime_foxy101)\
**Post date:** [October 3, 2020, 5:51pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/40 "2020-10-03T17:51:15Z")

</div>

jshdkjakjdakjdnaskj, ok, did I fix it?

---

<div class="post-metadata">

**Author:** ![18001767679](https://forum.snap.berkeley.edu/letter_avatar_proxy/v4/letter/1/839c29/32.png) [@18001767679](https://forum.snap.berkeley.edu/u/18001767679)\
**Post date:** [October 3, 2020, 11:26pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/41 "2020-10-03T23:26:27Z")

</div>

No.  
In correct:  
return ~~window.~~ prompt ~~.~~ ("What is your name?", "Funtime Foxy")  
console.log("Donald Trump is Donald duck, when you turn his head upside down");  
correct:  
return prompt("What is your name?", "Funtime Foxy")  
console.log("Donald Trump is Donald duck, when you turn his head upside down");

---

<div class="post-metadata">

**Author:** ![snapenilk](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/snapenilk/32/1947_2.png) [@snapenilk](https://forum.snap.berkeley.edu/u/snapenilk)\
**Post date:** [October 3, 2020, 11:40pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/42 "2020-10-03T23:40:47Z")

</div>

Think of the `.` as the `of` Sensing reporter in Snap_!_, but backwords.

---

<div class="post-metadata">

**Author:** ![funtime\_foxy101](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/funtime_foxy101/32/21076_2.png) [@funtime\_foxy101](https://forum.snap.berkeley.edu/u/funtime_foxy101)\
**Post date:** [October 3, 2020, 11:44pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/43 "2020-10-03T23:44:53Z")

</div>

Did I finally fix it?

---

<div class="post-metadata">

**Author:** ![18001767679](https://forum.snap.berkeley.edu/letter_avatar_proxy/v4/letter/1/839c29/32.png) [@18001767679](https://forum.snap.berkeley.edu/u/18001767679)\
**Post date:** [October 3, 2020, 11:44pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/44 "2020-10-03T23:44:54Z")

</div>

```
ignore([What is your name?Funtime foxy]of([prompt v]of[window v]))//non sensical
run([log v]of[console v])w/ inputs [Donald Trump is Donald duck, when you turn his head upside down]//behaves intended
```

---

<div class="post-metadata">

**Author:** ![18001767679](https://forum.snap.berkeley.edu/letter_avatar_proxy/v4/letter/1/839c29/32.png) [@18001767679](https://forum.snap.berkeley.edu/u/18001767679)\
**Post date:** [October 3, 2020, 11:45pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/45 "2020-10-03T23:45:56Z")

</div>

Yes but no.You shouldnt put _anything_ after a return statement

```
report([What is your name?Funtime foxy]of([prompt v]of[window v]))::cap//Uh oh,next block cant attach/run
run([log v]of[console v])w/ inputs [Donald Trump is Donald duck, when you turn his head upside down]//behaves intended
```

---

<div class="post-metadata">

**Author:** ![snapenilk](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/snapenilk/32/1947_2.png) [@snapenilk](https://forum.snap.berkeley.edu/u/snapenilk)\
**Post date:** [October 3, 2020, 11:47pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/46 "2020-10-03T23:47:11Z")

</div>

The `return` statement is like

```
report [] :: control cap
```

---

<div class="post-metadata">

**Author:** ![funtime\_foxy101](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/funtime_foxy101/32/21076_2.png) [@funtime\_foxy101](https://forum.snap.berkeley.edu/u/funtime_foxy101)\
**Post date:** [October 3, 2020, 11:47pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/47 "2020-10-03T23:47:23Z")

</div>

I removed the semicolon.

---

<div class="post-metadata">

**Author:** ![funtime\_foxy101](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/funtime_foxy101/32/21076_2.png) [@funtime\_foxy101](https://forum.snap.berkeley.edu/u/funtime_foxy101)\
**Post date:** [October 3, 2020, 11:48pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/48 "2020-10-03T23:48:13Z")

</div>

Should I remove the `return` too?

---

<div class="post-metadata">

**Author:** ![18001767679](https://forum.snap.berkeley.edu/letter_avatar_proxy/v4/letter/1/839c29/32.png) [@18001767679](https://forum.snap.berkeley.edu/u/18001767679)\
**Post date:** [October 3, 2020, 11:48pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/49 "2020-10-03T23:48:33Z")

</div>

No,I want you to remove the return statement instead of the ;.

---

<div class="post-metadata">

**Author:** ![snapenilk](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/snapenilk/32/1947_2.png) [@snapenilk](https://forum.snap.berkeley.edu/u/snapenilk)\
**Post date:** [October 3, 2020, 11:49pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/50 "2020-10-03T23:49:31Z")

</div>

The `console.log` is still after the `return` statement; the interpreter will never reach the `console.log`.  
You can remove the `return` statement, but the value returned by the `prompt` will not be used.

---

<div class="post-metadata">

**Author:** ![funtime\_foxy101](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/funtime_foxy101/32/21076_2.png) [@funtime\_foxy101](https://forum.snap.berkeley.edu/u/funtime_foxy101)\
**Post date:** [October 3, 2020, 11:53pm UTC](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420/51 "2020-10-03T23:53:39Z")

</div>

I deleted the whole first line. There is now only one.

[Previous page](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420.md?page=1)

[Next page](https://forum.snap.berkeley.edu/t/javascript-tutorial-part-1/3420.md?page=3)
