前言

  最初浏览过《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. 面向对象cookie增删查

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  2. [MISSAJJ原创] UITableViewCell移动及翻转出现的3D动画效果[58同城cell移动效果]

    2015-11-20 很喜欢在安静的状态, 听着音乐,敲着键盘, 和代码们浓情对话, 每一份代码的积累, 都让自己觉得很充实快乐!Y(^_^)Y. 看到58同城app的cell有动画移动出现的特效,很 ...

  3. React Native 获取网络数据

    getMoviesFromApiAsync() { return fetch('http://facebook.github.io/react-native/movies.json') .then(( ...

  4. github使用

    1.首先登录到https://github.com注册Github帐号,并且创建一个repository. 例如:注册的github帐号名为whu-zhangmin,创建的repository名称为w ...

  5. Windows Store App JavaScript 开发:模板绑定

    WinJS库模板提供了一种格式化显示多条数据的便捷方式,通过这种方式可以将模板与ListView或FlipView等控件结合使用以控制数据的显示格式.定义一个WinJS库模板的方法与定义WinJS库控 ...

  6. JavaScript 面向对象(一) —— 基础篇

    学好JS的面向对象,能很大程度上提高代码的重用率,像jQuery,easyui等,这篇博客主要从细节上一步步讲JS中如何有效地创建对象,也可以看到常见的创建对象的方式,最后也会附上一些JS面向对象的案 ...

  7. ElasticSearch部署安装

    测试版本:elasticsearch-5.1.1 1.Windows环境下安装(win10系统) 1)解压elasticsearch-5.1.1.zip. 2)执行elasticsearch.bat启 ...

  8. CodeForces #362 div2 B. Barnicle

    题目链接: B. Barnicle 题意:给出科学计数法 转化成十进制的整数或小数 并输出. 思路:暑假训练赛见过了,当时大腿A掉了,并表示是道水题. 刷CF再次遇见,毫不留情WA了几次.比如: 0. ...

  9. P53 T5

    北京某高校可用的电话号码有以下几类:校内电话号码由4位数字,第1位数字不是0:校外电话又分为本市电话和外地电话两类,拔校外电话需先拔0,若是本市电话则再接着拔8位数字(第一位不是0),若是外地电话则拔 ...

  10. linux学习 命令ll后字段的解释(转)

    原文链接:http://jz20080153.blog.sohu.com/161554070.html ls -l 列表信息详解 我们平时用ls -l 命令查看一个目录下的文件和子目录的详悉信息时,会 ...