一 JavaScript入门
1.1 Hello,World!
JavaScript在页面中展示信息的几种方式
- alert()
alert("Hello world!")
- console.log()
console.log("Hello world!")
- document.write()
document.write("Hello world!")
1.2 在html中的编写位置
1.2.1 script标签
可以将js编写到网页(.html)文件的script标签内
<script>
// 编写内容
</script>
1.2.2 外部js
写入外部js文件中然后使用script标签引入html中
<script src="./script/script.js"></script>
1.2.3 html标签属性中
可以写入某些html标签的某些属性中通过某些操作执行
例如button标签的onclick属性或者a标签的href属性
<button onclick="alert('你点我干嘛!')">点我一下</button>
<a href="javascript:alert(123);">超链接</a>
<a href="javascript:;">超链接</a>
1.3 基本语法
1.3.1 多行注释
使用 /* 注释内容 */
进行多行注释
- 注释的内容会被解释器忽略
- 也可以通过注释来对代码进行解释说明
- 通过注释来注释掉不想执行的代码
1.3.2 单行注释
使用// 注释内容
来进行单行注释
1.3.3 JS严格区分大小写
… 这是我没想到的,JS这么奇葩的语言居然能严格区分大小写,js有多奇葩?请看下图:
参考链接:从一张搞笑图看JavaScript的语法和特性 – 程序师 (techug.com)
1.3.4 在JS中多个空格和换行会被忽略
可以利用这个特点来对代码进行格式化
1.3.5 分号结尾
JS中每条语句都应该以分号结尾,JS中具有自动添加分号的机制,所以如果不写分号则解释器会自动添加
1.4 字面量和变量
1.4.1 字面量
字面量实际上就是一个值,他表示的含义就是他的字面意思…
没啥定义,就是1,2,3,4,“hello world”,… … 就是字面量,主要是为下面的变量服务
1.4.2 变量
- 变量可以用来“存储”字面量
- 变量中存储的字面量可以随意的修改
- 通过变量可以对字面量进行描述,并且变量比较方便修改
let a = "hello"
var b = 1
const c = 666
变量的使用
var a // 声明
a = 1 // 赋值
var a = 1 // 声明+赋值
ps:注意我这里使用了var
,var可以重复声明,而let
和const
不可以重复声明,let
和const
都可以定义一个变量,但他们是ES6新加入的,ES6是… …这里入门就不过多赘述
1.5 变量的内存
变量里存储的其实是指向内存空间中一块保存字面量的地址,且该内存空间一旦开辟就无法再改变,最终的命运只能是等用不到的时候被垃圾回收机制(GC)删除。
let a = '哈哈'
let b = '哈哈'
1.6 常量
在JS中,使用const声明常量,常量只能赋值一次,重复赋值会报错
在JS中除了常规的常量外,有一些对象类型的数据我们也会声明为常量
const PAI = 3.1415
PAT = 3.1516 // 报错 Assignment to constant variable. 赋值 to 常量
1.7 标识符
1.7.1 什么是标识符
在JS中,所有可以由我们自主命名的内容,都可以认为是一个标识符
像 变量名 函数名 类名…
1.7.2 命名规范
使用标识符需要遵循如下的命名规范:
- 标识符只能含有字母、数字、下划线、$,且不能以数字开头
和保留字,也不建议使用内置的函数或类名作为变量名 - 命名规范:
-
驼峰命名法:首字母小写,每个单词开头大写
例如:
maxlength
-->maxLength
borderleftwidth
-->borderLeftWidth
-
类名会使用大驼峰命名法
- 首字母大写,每个单词开头大写
maxlength
-->MaxLength
-
常量的字母会全部大写
MAX_LENGTH
-
我声明一个叫let
的变量并赋值为60,居然还能打印
var let = 60
console.log(let); // 60
let a = 100
console.log(a); // 100
但是下面这个报错说"let" 不能用作 "let" 或 "const" 声明中的名称。
用var就可以?也就是说上述规则有些并不是严格要求的,但尽量避免滥用。
let let = 50; // 报错:"let" 不能用作 "let" 或 "const" 声明中的名称。
console.log(let);