作为程序员,什么是脚本 务必要知道

作为程序员,什么是脚本 务必要知道JS 的全称叫做 JavaScript,虽然 JS 和 Java 没什么关系,但是 JS 依然是一种脚本。我们在 Bash 命令行里输入 Bas

欢迎大家来到IT世界,在知识的湖畔探索吧!

Javascript 是一门动态类型、面向对象的脚本语言。

对脚本进行一个感性的认识。就是一个跟计算机执行的文本。

理解脚本

如果你打开一本 JavaScript 教程,那么很可能在第一章就看到这句话:

JavaScript 是一门动态类型、面向对象的脚本语言。

然而很多前端工作一年都不清楚这个脚本是什么意思。

其实脚本原本来自戏剧舞台,比如下面这个脚本:

公馆一室内
王妈:(小心翼翼地)小姐,您还是得注意身子,就吃点东西吧。
鸡小姐:(把碗砸在地上)不吃,我就是不吃。
(王
妈下)

脚本主要由人物对话和舞台提示组成。演员和道具组只需要按照脚本说的做即可。

编程领域的脚本也是类似的,计算机只要照着脚本上说的做即可,比如下面这个脚本:

cd ~/Desktop
mkdir demo
cd demo
echo "hi" > index.html
cd ~/Desktop

欢迎大家来到IT世界,在知识的湖畔探索吧!

所以说,脚本就是给计算机照着做的。这是我们对「脚本」的一个感性认识。

Node.js 写脚本

上面我们写的脚本叫做 Bash Script(Bash脚本)。

JS 的全称叫做 JavaScript(Java脚本),虽然 JS 和 Java 没什么关系,但是 JS 依然是一种脚本。

  1. 我们在 Bash 命令行里输入 Bash 命令,也可以在 Node.js 命令行里输入 JS 命令
  2. Bash 脚本能做的事情,JS 脚本也能做。

用 JS 切换目录

欢迎大家来到IT世界,在知识的湖畔探索吧!console.log(process.cwd()) // 打印当前目录 //process.chdir('~/Desktop');;// 这句话不行的,因为 JS 不认识 ~ 目录 process.chdir("/Users/frank/Desktop") console.log(process.cwd()) // 打印当前目录

console.log 就相当于 echo

用 JS 脚本创建目录

Google nodejs create dir

let fs = require("fs")fs.mkdirSync("demo")

用 JS 脚本创建文件

Google nodejs create file

欢迎大家来到IT世界,在知识的湖畔探索吧!let fs = require('fs')fs.writeFileSync("./index.html", "")

用 JS 脚本来重写 demo.sh

  1. 创建 ~/local/jsdemo.js,内容如下 var fs = require(‘fs’) var dirName = process.argv[2] // 你传的参数是从第 2 个开始的 fs.mkdirSync(“./” + dirName) // mkdir $1 process.chdir(“./” + dirName) // cd $1 fs.mkdirSync(‘css’) // mkdir css fs.mkdirSync(‘js’) // mkdir js fs.writeFileSync(“./index.html”, “”) fs.writeFileSync(“css/style.css”, “”) fs.writeFileSync(“./js/main.js”, “”) process.exit(0)
  2. (Windows 用户跳过这一步)给 jsdemo.js 加上执行权限 chmod +x ~/local/jsdemo.js
  3. cd ~/Desktop
  4. node ~/local/jsdemo.js zzz,就可以看到 zzz 目录创建成功了

shebang

我们每次执行 ~/local/jsdemo.js 都要用 node 来执行,能不能做到不加 node 也能执行呢(也就是指定执行环境),可以,在 jsdemo.js 第一行加上这一句即可:

#!/usr/bin/env node 

(以下操作在 Windows 上可能失败,失败了就算了)

  1. 然后你就可以直接用 ~/local/jsdemo.js zzz 了(省得输入 node 了)。
  2. 如果你已经把 ~/local 加入了 PATH,那么甚至可以直接输入 jsdemo.js zzz 来执行。
  3. 如果你再把 jsdemo.js 的后缀 .js 去掉,就可以直接 jsdemo zzz 了。

注意,你每次执行前最好删掉 zzz 目录,以免发生冲突。

总结

我们学会了

  1. 脚本就是给机器一行一行执行的文本
  2. Bash 脚本有 Bash 脚本的语法,Node.js 脚本有 JS 语法
  3. 不管是那种脚本,能实现的功能都差不多,只是语法不同
  4. Bash 脚本的语法挺奇葩的,比如 $1 $# 等符号
  5. 不用特别去学 Bash 脚本的用法,遇到不会的就 Google
  6. 不用特别去学 Node.js 脚本的用法,遇到不会的就 Google
  7. 新人写代码最大的问题就是「抄错了」
    1. 多写了一个空格
    2. 少写了一个空格
    3. 单词拼错了
    4. 没有加分号
    5. 多加了分号

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/70778.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信