因缘际会
Alice: 编程入门好像很难吧,我能学会吗 ?我虽然是计算机专业的,但是我几乎没怎么写过代码。但是你先别说我菜,我身边的同学大家都是这样的 🤷
Bob: 那你能写冒泡排序或者求数组最大值吗 ?
Alice: 冒泡排序写不出来,求数组最大值还能试试看。不过为什么问这个,我会写 javascript
的 hello world
程序。
Bob: 会写 hello world
程序不能算是编程入门吧,就好像你会 hello 不能算是会英语吧。
Alice: 那从 0 开始学编程会很难吧 ?
Bob: it depends …,得具体情况具体分析了,而且你并不是从零开始呀,你之前不是自学过一些 javascript
吗,你在学校还上过 c
语言的课程吗 ?
Alice: 学校里面上的课,还没毕业就都还给老师了,自学 javascript
是学过,但是大部分都是在讲面试的点,比如说 作用域
,原型链
, class
还有 promise
啥的。但是实际写代码的时候,感觉还是很磕巴,哦对,还有其他的 dom
bom
啥的,更是一知半解了。
Bob: 嗯嗯,我觉得你是没怎么写过代码,也没有怎么写过 javascript
。当然,js 语言本身有很多需要掌握的特性,比如说 作用域,原型链,promise, dom, bom, xhr 等等。但我觉得你现在最应该练习的是编程语言的基本共同的部分。比如说,顺序,分支,循环三种结构,还有常见的数据结构的使用,数组,对象(js 里面最常用的就是这两个)。还有其他的基础部分,比如函数的定义,调用。常见的一些语法的练习等等。
Alice: 你说的这种方式看起来有道理,同学里面经常参加比赛的好像后面都找到写代码的工作了,感觉就是练出来的 ?
Bob: 嗯嗯,在练中学,编程是个手艺活,要学习理论,但是更要动手开始做。那我们就试试 ?
变量声明
Alice: 变量定义这么简单的事情,还需要单独拿出来讲嘛 ?🙄
Bob: 首先变量定义没那么简单,我们先讲完吧,然后你在说是不是简单。
Alice: 好吧
Bob: javascript
中定义变量有 4 种方式。
Alice: 你不会要像孔乙己一样讲 茴香豆 的茴的 n 种写法吧
Bob: 听我讲完,最初的 javascript
只有两种变量定义方式,分别是全局变量和 var
变量。
var a = 'hello';
// 直接声明的变量是挂载 window 对象上的
// window 对象在浏览器执行的 javascript 代码中就是全局变量
b = 'world';
console.