复习基础JavaScript

小弟因疫情影响,整天在家苦等Offer
於是心血来潮,将自己之前的考题整理成笔记
上来与大家分享交流
JavaScript太久没复习了,连一些简单的型别宣告作用域等等都没了印象
今天就来谈谈这些基本的执行
https://ithelp.ithome.com.tw/upload/images/20210529/20137810ctz0dVyTgT.jpg
(上面答案写错不要理我)
Const compare = function(){
Let num = 123;
Let str = ‘123’;

Console.log(num == str);
Console.log(num === str);

Str = ‘hello’;
Let obj = new String(‘hello’);

Console.log(str == obj);
Console.log(str === obj);
}

Ans: true, false, true, false

两个等於 == →比较value里面的值,像123 = ‘123’
三个等於 === →比较型别, str = ‘hello’; != new String(‘hello’);
像这样↓
https://ithelp.ithome.com.tw/upload/images/20210529/20137810li6sXZF5JC.jpg
Str →物件 “hello”
Obj →建构子 String {“hello”}
这是javascript的弱型别特性,以下网站有详细的javascript弱型别特性
https://medium.com/@yining1204/%E9%97%9C%E6%96%BCjavascript%E7%9A%84%E5%BC%B1%E5%9E%8B%E5%88%A5%E7%89%B9%E6%80%A7-93ffcdcf623e

https://ithelp.ithome.com.tw/upload/images/20210529/20137810XrkU7PH3Qs.jpg
这一题,主要考上述程序会输出什麽数值
首先要先了解let var 跟 var的区别
懒人包:作用域不一样,var的作用域在函数(function)里,let的作用域则是在区块(block)里。

OK,有了此认知後去试想着程序如何执行
https://ithelp.ithome.com.tw/upload/images/20210529/20137810KiHRxL8MPZ.jpg
Let num = 2;这段宣告仅在function numberGenrator(){}
当呼叫到function addNum(){}时,会将num=5;回传回来,
进而取代了上面的let num = 2; 此时num的值为5。
有关作用域的介绍,可以看下列网站
https://realdennis.medium.com/%E9%96%92%E8%81%8A-var%E8%88%87let%E7%9A%84%E6%87%B6%E4%BA%BA%E5%8C%85-javascript-b5a3f40ee28d
再来厘清一下const 是什麽宣告呢?
宣告 const 会对於它的值建立一个唯读的参考。并不是说这个值不可变更,而是这个变数不能再一次指定值。例如,假设常数的内容(值)是个物件,那麽此物件的内容(物件的参数)是可以更改的。
所以 const numGen = numberGenerator();
呼叫了上述function
并let x = numGen();
X就为6啦

以上为小弟自己复习一些考古题所做出来的笔记(很菜鞭小力点)
主要是自己透过纪录方式让自己观念更厘清
之後还会陆续Po上自己菜鸟学习笔记
欢迎大家一起讨论教学

下面有两题小弟我还没研究出来,欢迎邦友帮忙指教讨论
https://ithelp.ithome.com.tw/upload/images/20210529/201378103mlOKeVetv.jpg
https://ithelp.ithome.com.tw/upload/images/20210529/2013781007WKnSf2G9.jpg
/images/emoticon/emoticon41.gif


<<:  滥用案例(misuse cases)

>>:  快速了解 Tailwind CSS 的 JIT 模式

1.4 Design System - 做的优先顺序、注意事项

职场好同学 CH CH 是之前一起准备升学的同学,但比我早好几年进入职场,本身也是 UX/UI 设...

IT铁人第29天 Elasticsearch 使用python查询资料 Aggregations:Terms

今天的文章要介绍的是Bucket Aggregations的一种聚合方式,其实Metrics Agg...

[DAY 08]新成员进来时靠bot进行说明事项

最近进了一个公会群,发现当有新成员进来时管理员还需要问他们ID才能把他们邀进游戏里的工会 新成员进来...

Day 28 QuickSight 连接 Redshift - Part 1

QuickSight 是 AWS 的 BI 工具,QuickSight 可以非常方便且简单的串接 A...

Day3 JavaScript 如何输出

JavaScript 可以通过不同的方式来输出数据: 1.使用 window.alert() 弹出警...