JS 基本语法
1. JavaScript 代码在HTML中的位置
- 可以写在
HTML
标签的内部
<body>
<!-- 弹出一个警告框 -->
<a href="javascript:alert('第一次使用这种方式呢..');">试着点我一下</a>
<!-- 可以用这种方式禁用超链接跳转 -->
<a href="javascript:;');">我不会跳转</a>
</body>
- 可以写在
<script>
标签中
<script>
alert("可以在这写 JavaScript 代码");
</script>
- 写在外部的 JS 文件中
- 在外部新建一个.js
结尾的文件,然后编写JavaScript
代码
- 然后在页面中通过<script>
标签来引入这个外部的js
文件
<!-- 引入 外部JS 文件 -->
<script src="../js/index.js"></script>
2. JS 中的三个输出指令
- 弹出一个警告框
alert("我可以用来弹出一个警告框.");
- 在 HTML 的 body 中输出一段内容
document.write("哈哈,我是body中的内容");
- 在控制台输出一段内容
console.log("我可以向控制台输出一些内容..");
3. JS 中的注释
// 表示单行注释
/*
表示多行注释
...
*/
4. JS 语法规范
- JS 中严格区分大小写
- JS 中的每一条语句都要以分号
;
结尾
如果不写分号,浏览器会自动添加,但是会消耗一部分源,而且有些时候浏览器会加错分号。所以在开发的时候一定要以分号结尾。 - JS 中会忽略多个空格和换行
5. 字面量和变量
字面量
字面量可以理解为常量,字面量都是一些不可改变的值。例如:1、2、3、4、5…
字面量可以直接使用,但是一般都不会直接使用字面量。
变量
变量可以用来保存字面量,而且变量的值是可以任意改变的。
变量更加方便使用,所以在开发中都是通过变量来保存字面量,很少直接使用字面量。
// 声明一个变量 a
var a;
// 为变量 a 赋值,值为一个字面量 10
a = 10;
//还可以在声明变量的时候同时为变量赋值
var b = 20;
6. 标识符
在JS中所有的可以有我们自主命名的都可以称为是
标识符
,例如:变量名、函数名、属性名都属于是标识符。
命名一个标识符时需要遵守如下的规则:
- 标识符中可以含有字母、数字、_、$
- 标识符不能以数字开头
- 标识符不能是 JS 中的关键字或保留字
- 标识符一般都采用驼峰命名法( 首字母小写,每个单词的首字母大写,其他字小写)
例如var myAge = 18
7. 数据类型
数据类型指的是字面量的类型,在 JS 中一共有
6
种数据类型。
String
字符串
Number
数值
Boolean
布尔值
Null
空值
Undefined
未定义
Object
对象
其中除了 Object
是引用数据类型
,其他的五种数据类型都是基本数据类型
String
在 JS 中使用字符串时,需要使用引号
引起来,使用单引号 '
或双引号 ""
都是可以的,需要注意的是不能混着用。
相同的引号之间不能嵌套,可以使用一对单引号嵌套一对双引号,或者使用一对双引号嵌套一对单引号。
// 定义一个 String 类型的变量
var str = "我是一个 string 类型的变量.";
// 可以使用双引号
alert("输出的内容. ");
// 可以使用单引号
alert('输出的内容');
// 不可以混合使用(错误写法)
alert('输出的内容");
// 相同的引号之间不能嵌套(错误写法)
alert("他说:"今天天气不错"");
alert('他说:'今天天气不错'');
// 不同的引号之间可以互相嵌套
alert("他说:'今天天气不错'");
alert('他说:"今天天气不错"');
转义字符
\"
表示"
\'
表示 '
\\
表示\
\t
表示一个制表位
\n
表示换行
// 引号的转义,可以解决相同引号之间相互嵌套的问题.
console.log("他说:\"今天天气不错.\" ");
console.log('他说:\'今天天气不错.\' ');
// \\ 表示一个 \
console.log("D:\\Blog\\article.txt");
// \t 表示 一个制表位
console.log("你好,我是一个\t制表位");
// \n 表示换行
console.log("第一行内容\n第二行内容");
Number
在 JS 中,所有的数值类型都是 Number
类型,包括小数
和浮点数
使用 Number.MAX_VALUE
表示数字的最大值
,使用Number.MIN_VALUE
表示数字的最小值
如果使用 Number 所表示的数值超过了最大值,则会返回一个 Infinity
表示正无穷 , -Infinity
表示 负无穷。
// 定义一个 Number 类型的变量
var num = 10;
// 返回 Number 所能表示的最大值
var max = Number.MAX_VALUE;
// 返回 Number 所能表示的最小值
var min = Number.MIN_VALUE;
// 最大值的平方,已经超过了最大值,会返回一个 Infinity(正无穷)
console.log(max * max);
// 超过了 Number 可以表示的最小值,会返回一个 -Infinity(负无穷)
console.log(-max * max);
Number 中特殊的值
NaN
是 Number
中的一个特殊的数值,表示(Not a Number)
不是一个数字,它是一个字面量
。
注意
Infinity
、-Infinity
、NaN
它们都是一个字面量
,不是变量。- 在 JS 中,正数的运算基本可以保证精确。
- 如果使用 JS 进行浮点数运算,可能得到一个不精确的结果。所以千万不要使用 JS 对精确度要求比较高的运算。
//直接输出 Infinity 、 -Infinity 、 NaN
console.log(Infinity);
console.log(-Infinity);
console.log(NaN);
// 基本运算
console.log(10 + 20);
// 精确运算
console.log(0.1 + 0.2); //得到的值不精确.
控制台输出的结果
Boolean
布尔值只有2个,主要用来做逻辑判断。
true
真
false
假
Null
Null
类型的值只有一个 null
,null
这个值专门用来表示一个空的对象
Undefined
Undefined
表示 未定义
,只有一个值undefined
当声明一个变量,但是不给变量赋值的时候,它的默认类型就是 undefined
// 声明一个变量,没有给变量赋值,此时它的默认类型是 undefined
var a;
// 控制台输出
console.log(a);
控制台输出的结果
typeof
可以使用 typeof
来检查变量的类型
语法:typeof 变量名
当使用 typeof 来检查不同的数据类型的时候,会返回不同的值。
typeof String
会返回string
typeof Number
会返回number
使用typeof
来检查Number
中的Infinity
、-Infinity
、NaN
都会返回number
虽然NaN
表示不是一个数字的意思,但是仍然会返回一个number
typeof Boolean
会返回boolean
typeof Null
会返回object
typeof Undefined
会返回undefined
var a = "我是一个字符串";
console.log(typeof a);
a = 10; //改变a的值
console.log(typeof a);
a = Infinity; //改变a的值
console.log(typeof a);
a = -Infinity; //改变a的值
console.log(typeof a);
a = NaN; //改变a的值
console.log(typeof a);
a = true; //改变a的值
console.log(typeof a);
a = null; //改变a的值
console.log(typeof a);
a = undefined; //改变a的值
console.log(typeof a);
控制台运行结果