前言
最初浏览过《JavaScript秘密花园》,前一段时间读过一点点《JavaScript语言精粹》和一点点《JavaScript高级程序设计》(一点点是指都只是读了个开头,有个大概其的印象)。最近在Codecademy上,学习JavaScript相关的课程。不得不说,和当初的安利一样,该网站的易读性、可操作性和交互性非常地强——很适合作为一个新人入门的学习。(张嘴吃下我这安利~)准备在一个月内刷完Codecademy上FE相关的课程(JS目前进度80+%),共勉。(flag已立。)
在此,记录下学习过程中的点滴,以供今后的自己回顾。(从课程的后百分之二十开始,之前的会慢慢补充。)
P.S.: 笔者自己是一个前端萌新。所以,此文难免疏漏百出,请各位看官不吝赐教。
笔记
Unit 1 - Introduction
'prompt': ask user for an input.
'comfirm':
'console.log()':
'===' VS '==' in JS:
variables in JS: allow user to save and call values.
string:
substring()
.length
'Math.random()': randomly generates a number between 0 and 1
Unit 2 - Functions
functions in JS: A reusable piece of code that can be called on throughout an application.
parameter:
input into a function; a placeholder word that is passed a specific value when the function is called;
there is no limit to the number of parameters for a function
'return': allows for the output of a function to be used elsewhere
benefits of functions:
Being less redundant;
Easier debugging due to better organization;
Making your code more reusable through separation of concerns;
...
Unit 3 - 'for' loop in JS
'for' loop in JS: loops through a block of code a determinable number of times
element in JS: an entry in an array
array: a variable that can store a list of different data types
Unit 4 - 'while' loop in JS
注意不要运行一个无限while循环(infinite while loop)(写循环时要保证循环最终能停下来),否则程序会崩溃(一般地,如果运行环境是浏览器,那么浏览器会崩溃)。
Unit 5 - Control Flow
'isNaN()': checks if the value is not a number and returns a boolean
isNaN("23"); //false
isNaN("imo"); //true
logical operator: &&, ||, !
Unit 6 - Data Stuctures
array:
异构的(heterogeneous): 数组内部的数据类型(data type)可以是不同的
锯齿状的(jagged): 多维数组
均匀的(homogenous)
.length:
object:
key, value
how create?:
1. Object Literal Notation
2.
how add key?:
myObj.name = "imo";
myObj["name"] = "imo";
Unit 7 - Object I
Unit 8 - Object II
从Object说起。
(编辑补充中……)
面向对象编程
面向对象编程(OOP,object-oriented programming)不得不提到类(class)。
当你编写一个自定义构造函数(custom constructor)时,你其实就是在定义一个新的类。类可以理解为一种类型(type),或者一种类型(category)的对象(objects)。类有某些属性(property)和方法(method)。
JS通过构造器(constructor)自动定义了类的原型(prototype)。原型记录了一个类有或没有什么(属性)、能或不能做什么(方法)。一个对象(object)是一个类(class)的一个特别的实例(instance)。