JavaScript 在HTML中的标签位置
<!DOCTYPE HTML>
<html>
<head>
<title>title</title>
</head>
<body>
<!-- 这里放内容 -->
/*对于需要加载很多js的页面来说,建议把js的引用放在下方位置,这样可以尽快将页面呈现出来*/
<script type="text/javascript" src="..."></script>
</body>
</html>
延迟脚本与异步脚本的区别
<!DOCTYPE HTML>
<html>
<head>
<title>title</title>
<script type="text/javascript" defer="defer" src="..."></script> //延迟脚本
<script type="text/javascript" async src="..."></script> //异步脚本
</head>
<body>
<!-- 这里放内容 -->
</body>
</html>
延迟脚本
脚本的加载不会影响页面布局,,可以让页面加载完成后,再加载脚本。
异步脚本
脚本的加载与页面的布局同时进行。
关于JavaScript 嵌入代码与外部文件
- 可维护性
- 可缓存
- 适应未来
注释
- 单行注释
// 这就是单行注释
- 多行注释
/* 这就是多行注释 */
关键字和保留字
- 关键字:可以用来对语句进行一些操作。
- 保留字:不可以用来作为标识符使用。
变量
- 全局变量:在外部用var定义,或者函数内部不用var定义,但是后者不推荐使用。
- 局部变量:在函数内部用var定义。
数据类型
可以用typeof()的返回值查看
- undefined:定义了对象,但没有初始化值;
- boolean:true 可以转换为 1,false 可以转换为 0;
- string:字符串类型,单引号,双引号都可以;
-
number:js中的数字类型
浮点数
/*对于测试浮点数的结果,不能直接用(x + y == 0.1)类似的方法*/
var FloatNumber = 1.1;
var FloatNumber = 0.1;
var FloatNumber = .1; //不会报错,但是不规范
var FloatNumber = 1.0; //结果是 1
var FloatNumber = 1.; //结果是 1
isNaN()
// NaN可以当成为一个数值来理解
// NaN与任何数字进行操作,返回值都是NaN
// NaN与任何数都 不相等 ,包括他自己
// 通过isNaN()的返回值我们可以确认参数是否---不是数值
alert(isNaN(NaN)); //返回值是true
alert(isNaN(1)); //返回值是false
alert(isNaN("2")); //返回值是false
alert(isNaN("abc")); //返回值是true
alert(isNaN(true)); //返回值是false
类型转换
// parseInt() ,parseFloat()可以用来转换数据类型
// NaN与任何数字进行操作,返回值都是NaN
<!-- parseInt的用法 -->
var Type1 = parseInt(""); // 返回的是NaN
var Type2 = parseInt("123"); // 返回的是123
var Type3 = parseInt("123abc"); // 返回的是123
var Type4 = parseInt("abc123"); // 返回的是NaN
var Type5 = parseInt("1011",2); // 返回的是十进制数,引号里放的是转换成十进制的数,后边的参数是,引号内的进制类型
var Type6 = parseInt(1.1); // 返回的是1
<!-- parseFloat的用法 -->
var Type1 = parseFloat(""); // 返回的是NaN
var Type2 = parseFloat("123"); // 返回的是123
var Type3 = parseFloat("123abc"); // 返回的是123
var Type4 = parseFloat("abc123"); // 返回的是NaN
var Type5 = parseFloat("1.1"); // 返回的是1.1
var Type6 = parseFloat("01.1"); // 返回的是1.1
- object:对象,用new来创建,最好带上括号,object();
- function:函数