完成以下问题, 表示你完成了一门编程语言的学习。
以下涉及了项目中常用的主题,可根据具体场景选择完成。
1.入门
JavaScript语言是在10天时间内设计出来的,虽然语言的设计者水平非常NB,但谁也架不住“时间紧,任务重”,所以,JavaScript有很多设计缺陷。
Node.js 是一个开源和跨平台的 JavaScript 运行时环境。
1.1 官网地址,特性和应用场景有哪些
特性:动态类型的语言,解释运行。
场景:它几乎是任何类型项目的流行工具!
一般还是后端程序。
1.2 安装与运行
1.3 与浏览器的区别
V8 提供了 JavaScript 执行的运行时环境。
DOM 和其他 Web 平台 API 由浏览器提供。
1.4 编辑器(选答)
1.5 包管理工具
使用 npm
,当然 Yarn 是 npm 的一个替代选择。
➜ npm -h
Usage: npm <command>
where <command> is one of:
access, adduser, audit, bin, bugs, c, cache, ci, cit,
completion, config, create, ddp, dedupe, deprecate,
dist-tag, docs, doctor, edit, explore, get, help,
help-search, hook, i, init, install, install-test, it, link,
list, ln, login, logout, ls, outdated, owner, pack, ping,
prefix, profile, prune, publish, rb, rebuild, repo, restart,
root, run, run-script, s, se, search, set, shrinkwrap, star,
stars, start, stop, t, team, test, token, tst, un,
uninstall, unpublish, unstar, up, update, v, version, view,
whoami
npm <command> -h quick help on <command>
npm -l display full usage info
npm help <term> search for help on <term>
npm help npm involved overview
Specify configs in the ini-formatted file:
/Users/renyangwei/.npmrc
or on the command line via: npm <command> --key value
Config info can be viewed via: npm help config
npm@6.4.1 /usr/local/Cellar/node@10/10.15.1/lib/node_modules/npm
1.6 书籍推荐
2.概览
V8引擎会即时编译Javascript代码,所以我们可以像Python一样,一行一行在终端运行,也可以写成一个文件执行。
在终端输入 node
即可进入命令行模式,和Python一毛一样。
2.1 基本语法
hello world 程序,变量, 常量, 注释, 判断, 循环, 函数
// 注释
'use strict';
// 打印
console.log("hello world");
// 变量,var 或者 let
// var 是全局变量, let 是局部变量
// 一般就用let
let a = 1;
let b = 2;
if (b > a) {
let x = 3;
var y = 4;
console.log("x=", x)
console.log("y=", y)
}
// console.log("x=", x)// 执行到这里会报错,变量未定义
console.log("y=", y)
// const 和 final 一样,声明之后不可改变
const d = "dd";
// d = "a"; // 会报错
// 函数
// 不需要声明返回值
function add(a, b) {
return a + b;
}
console.log("a+b=", add(a, b))
2.2 面向对象
// 面向对象
var Student = {
name : "Amda",
height: 1.45,
run : function () {
console.log(this.name, "is running");
}
};
2.3 异常与错误
// 错误
try {
console.log("a=", z);
} catch (error) {
console.log("something err:", error)
}
2.4 测试
其他关于语言的重点可以再添加
3.基本数据类型
3.1 数字
定义, 加减乘除,取余,取整, 取小数点后两位, 整数与小数转换, 指数, 进制转换
3.2 字符
定义, 转义, 拼接, 格式化, 截取, 长度, 遍历, 拆分, 替换, 匹配(正则表达式)
3.3 列表
定义
增: 单个, 批量, 任意位置
删: 单个, 批量, 全部
改: 单个, 批量
查: 根据索引找值, 根据值找索引
截取: 根据范围截取
遍历(正反)
排序
3.4 字典(键值对)
定义
增: 单个, 批量
删: 单个, 批量, 全部
改: 单个, 批量
查: 根据键找值, 根据值找键
遍历(键的正反)
排序
3.5 集合
3.6 栈和队列
3.7 元组(选做)
4.练习
4.1 时间
当前时间戳
格式化输出, 年-月-日 时:分:秒
格式化时间转时间戳
时间戳转格式化时间
4.2 文件
4.2.1 文件
全部读
按行读
创建文件并写入
原文件追加
原文件覆盖写入
删除文件
文件大小
修改文件名
4.2.2 目录
当前目录
列出目录中的文件和目录
获取文件的绝对路径
分离后缀名,文件名和路径
拼接路径与文件
目录或文件是否存在
复制粘贴
删除目录
4.3 加密
4.4 异步
4.5 网络服务
4.6 命令行
4.7 测试
4.8 图片
4.10 数据库操作
4.11 数据处理
5.练手小项目
根据不同的场景选择,可以在 Github 上克隆项目