前言

  最初浏览过《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)。

  

  

面向小白的JS笔记 - #Codecademy#学习笔记的更多相关文章

  1. 【09-23】js原型继承学习笔记

    js原型继承学习笔记 function funcA(){ this.a="prototype a"; } var b=new funcA(); b.a="object a ...

  2. Underscore.js 源码学习笔记(下)

    上接 Underscore.js 源码学习笔记(上) === 756 行开始 函数部分. var executeBound = function(sourceFunc, boundFunc, cont ...

  3. Underscore.js 源码学习笔记(上)

    版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}());  这样的东西,我们应该知道这是一个 IIFE(立即执行 ...

  4. 浏览器中js执行机制学习笔记

    浏览器中js执行机制学习笔记 RiverSouthMan关注 0.0772019.05.15 20:56:37字数 872阅读 291 同步任务 当一个脚本第一次执行的时候,js引擎会解析这段代码,并 ...

  5. 纯JS实现KeyboardNav(学习笔记)一

    纯JS实现KeyboardNav(学习笔记)一 这篇博客只是自己的学习笔记,供日后复习所用,没有经过精心排版,也没有按逻辑编写 GitHub项目源码 预览地址 最终效果 KeyboardNav使用指南 ...

  6. 纯JS实现KeyboardNav(学习笔记)二

    纯JS实现KeyboardNav(学习笔记)二 这篇博客只是自己的学习笔记,供日后复习所用,没有经过精心排版,也没有按逻辑编写 这篇主要是添加css,优化js编写逻辑和代码排版 GitHub项目源码 ...

  7. [360前端星计划]BlackJack(21点)(纯JS,附总部学习笔记)

    [360前端星计划]总部学习笔记(6/6) [360前端星计划]详情跳转 游戏界面预览 目录 一.游戏介绍 1.起源 2.规则 3.技巧 二.游戏设计 1.整体UI构思 2.素材采集 3.游戏总规划 ...

  8. [读书笔记]C#学习笔记一: .Net Framwork

    前言: 一次偶然的机会  在园子里看到@Learning hard 出版的一本书: <<C#学习笔记>>, 然后买来 一直到现在读完, 感觉很不错, 适合入门, 书中内容是从C ...

  9. [读书笔记]C#学习笔记三: C#类型详解..

    前言 这次分享的主要内容有五个, 分别是值类型和引用类型, 装箱与拆箱,常量与变量,运算符重载,static字段和static构造函数. 后期的分享会针对于C#2.0 3.0 4.0 等新特性进行. ...

随机推荐

  1. Y Combinator

    常见的例子 阶乘函数: fact = (a) -> if a > 0 then a * fact(a - 1) else 1 问题的提出 如上,在fact函数中调用了fact本身,无法使用 ...

  2. Selenium VS QTP

      Selenium系列 QTP 适用结构  B/S结构  C/S.B/S结构 适用人员 有一定代码基础(Java.C#.Python.Ruby) 对编程不是很熟悉的.厌烦了做手工功能测试的.想快速进 ...

  3. 运行DbVisualizer报the java_home environment viariable does not point to a working 32-bit JDK OR JRE错误

    报这个错误的根本原因就是DbVisualizer和JDK的版本不一致,那么知道原因,修改起来就方便了,要么修改DbVisualizer的版本,要么修改JDK的版本. 1.JDK7 64位 那么就在Db ...

  4. axis2开发webservice入门到精通

    1,准备工作: 首先我们要下载:axis2-1.4.1-war(发布webservice),axis2-1.4.1-bin.zip(webservice调用使用的各种包). 下载好了,把axis2-1 ...

  5. x64内联汇编注意点

    #include <windows.h> #include <stdio.h> extern "C" int MyPrintf(ULONGLONG,ULON ...

  6. #define DELAY_ONE_MICROSECOND (-10) 时间是负数的原因

    以下摘自DOOM的博文<内核同步对象> http://blog.csdn.net/lqk1985/article/details/2541867 “最后一个参数&timeout是一 ...

  7. C# 进程和线程

    一.进程和线程 进程是对一段静态指令序列的动态执行过程,是系统进行资源分配和调度的基本单位.与进程相关的信息包括进程的用户标志.正在执行的已经编译好的程序.程序和数据在存储器中的位置等.同一个进程有可 ...

  8. 初学js

    接触时感觉跟前面写网页的差距和大,与c语言很相似.主要学的有: 1.引入js的三种方法:外联,内联,嵌套 2.标识符:第一个字符可以是任意Unicode字母,以及美元符号($)和下划线(_). - 第 ...

  9. Linux学习 :Uboot, Kernel, 根文件系统初步分析

    1.U-Boot启动内核的过程可以分为两个阶段: 1)第一阶段的功能 硬件设备初始化 加载U-Boot第二阶段代码到RAM空间 设置好栈 跳转到第二阶段代码入口 2)第二阶段的功能 初始化本阶段使用的 ...

  10. nginx url重定向

    nginx内部支持url rewrite,内部编译进去了rewrite模块,nginx的rewrite模块类似于apache的rewriterule功能:支持多种规则和正则表达式: 详细介绍如下: N ...