系统自学Javascript的第一天
目录
1.Javascript的组成:
2.JS的作用:
3.JS的特点
4.什么是Node.js?
5.现在的JS可以用来干什么?
6.JS运行时:
7.Node.js运行时:
8.第一个JS程序
9.编写xxxx.JS实例
10.JS中的几个重要的概念
11.JS注释
12.JS变量
1.Javascript的组成:
- ECMAscript:提供语言的语法和基本对象
- DOM:提供处理网页内容的方法和接口
- BOM:提供与浏览器进行交互的方法与接口
2.JS的作用:
用来实时更新网页中的内容,例如从服务器获取数据并更新到网页中,修改某些标签的样式或其中的内容等,可以让网页更加生动。
- 常见的JS引擎:
- Chrome/Opera : V8
- Firefox : SpiderMonkey
- IE : Chakra
- Microsoft : ChakraCore
- Safari : SquirrelFish
//作为一种脚本语言,JS不能独立运行,通常借助浏览器
3.JS的特点
- 解释型脚本语言 //无需编译,直接运行
- 面向对象
- 弱类型 //随意改变数据类型
- 动态性 //动态语言显著的特点是在程序运行时,可以改变程序结构或变量类型(这个还不是很懂,有看到大佬用eval等函数的实现表示它的动态性。)
- 跨平台 //只要浏览器支持JS就行了,和操作系统无关
4.什么是Node.js?
在Node.js出现之前(2009年),JS只能在浏览器上面运行!在它出现之后,JS就可以脱离浏览器,想其它编程语言一样在计算机上面运行了。Node.js是一套JS运行环境。我的理解是:Node.js有点像JDK。
5.现在的JS可以用来干什么?
既然都这么问了,那肯定很牛逼了啊!有了Node.js的帮助,JS已经不局限与“小小的”Web前端编程了。比如:
- 开发网站后台 //比如写写接口文件
- 开发GUI程序 //带界面的电脑软件
- 开发手机APP
- 开发CLI工具 //类似于IDEA的Terminal即不带界面的命令行程序
6.JS运行时:
解释器、标准库、本地模块等各种组件/工具共同支撑了 JavaScript 代码的运行,它们统称为 JavaScript 运行时。
- 解释器 : JS(脚本语言)--翻译给-->计算机
- 标准库 : 调用一些内置函数的时候会用到
- 本地模块 : 动态链接库
7.Node.js运行时:
Node.js 运行时主要由 V8 引擎、标准库和本地模块组成,尤其是本地模块的多少,从底层决定了 Node.js 功能的强弱。
- V8引擎 : JS解释器
- 本地模块 : Node.js 集成了众多高性能的开源库,它们使用 C/C++ 语言实现
- 标准库 : 本地模块使用 C/C++ 编写,而 Node.js 面向JS开发人员,所以必须要封装本地模块的 C/C++ 接口,提供一套优雅的JS接口给开发人员,并且要保持接口在不同平台(操作系统)上的一致性。这套JS接口,就是 Node.js 标准库。
Tips : Libuv 是 Node.js 最核心最基础的模块,Node.js 完全基于 Libuv 而构建。Node.js 之所以大名鼎鼎,主要是因为它采用了 V8 引擎和 Libuv 库:V8 引擎保证了 Node.js 运行高效,Libuv 库提供了基于事件循环的异步 I/O 能力。
8.第一个JS程序
第一个JavaScript程序 document.write("类猴!
");
Tips:
1.在 JavaScript 脚本中,document 表示网页文档对象
2. document.write() 表示调用 Document 对象的 write()方法,在这里是指在当前网页 源代码中写入 HTML 字符串"
类猴!
"
9.编写xxxx.JS实例
- 新建 new.JS
代码 : alert("类猴!");
2.新建 new.html
第一个JavaScript程序
Tips:
建议把 JavaScript 文件和网页文件放在同一个目录下,即new.js和new.html
过程9的效果是浏览器出现一个提示对话框,显示字符串“类猴!”。
10.JS中的几个重要的概念
- 标识符
- 关键字
- 保留字
- 区分大小写
- 直接量
//这不就是命名那些事吗?
11.JS注释
- 单行注释 //
- 多行注释 /*这里用来写注释啊*/
12.JS变量
- 命名规则 : 不能有汉字、空格、关键字、保留字;不能以数字开头
//科普驼峰命名法 :大驼峰Daycost 小驼峰dayCost 区分依据是单词首字母大小写
- 定义变量 : var 变量名; var a,b,c,d;
- 为变量赋值 : var a=1;
- let和const :
Let : 使用 let 关键字声明的变量只在其所在的代码块中有效(类似于局部变量),并且在这个代码块中,同名的变量不能重复声明
const : 它和 let 相同,但使用 const 关键字声明的变量还具备另外一个特点,那就是 const 关键字定义的变量,一旦定义,就不能修改
Tips : JS在预编译期会先预处理声明的变量,但是变量的赋值操作发生在 JavaScript 执行期,而不是预编译期。