前言

  最初浏览过《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. MVC中获取来自控制器名称与动作的方法

    #region 获取控制器名称与动作 protected void GetNameSpace() { var nameSpace = this.RouteData.Values["contr ...

  2. checkbox设置单选

    http://blog.sina.com.cn/s/blog_4550f3ca010137td.html $("*")  ‘表示获取所有对象   $("#XXX" ...

  3. PHP redis 批量操作

    参考网站 phpredis扩展 :https://github.com/phpredis/phpredis#pconnect-popen 命令参考:http://doc.redisfans.com   ...

  4. SQLSERVER2008R2数据库的整体导出及单个表的导出步骤

    今天在同事导SQLSERVER数据库中的表的时候遇到一问题,不知道怎么单独的把一个表的建表语句导出来,,迅速百度一下,按照步骤还真导出来了,导出单个表的步骤看下面来啦....: 点中数据库名字---- ...

  5. Kotlin Groovy Style Builder

    fun main(args:Array<String>):Unit{ val x = a{ aa{ +"01.01" +"01.02" } aa{ ...

  6. 'scrapyd-deploy' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

    在windows上使用scrapyd-client 安装后,并不能使用相应的命令'scrapyd-deploy' 需要在"C:\Python27\Scripts" 目录下 增加sc ...

  7. 一个Woker类,当id和name相同时,系统判断两个工人是相等的,打印工人对象时显示“工人:id和name”。

    public class Worker { private int id; private String name; private double salary; public boolean equ ...

  8. 读取.properties配置文件

    方法1 public  class SSOUtils { protected static String URL_LOGIN = "/uas/service/api/login/info&q ...

  9. 使用keytool生产jks证书

    使用JDK中的keytool生成服务器证书 1.创建服务器KeyStorekeytool -genkey -alias server_jks_cennavi -keyalg RSA  -keystor ...

  10. 嵌入式Linux的调试技术

    本节我们研究嵌入式Linux的调试技术,对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试.刚开始讲了打印内核调试信息:printk,这个函数的用法与printf函数类似,只不过p ...