1 用法:
1) 写在</html>之后 <script language="javascript"> 代码放在这里边</script>
2) 写一个javascript文档 用<script src=" 所创建的文档"></script>
js文件执行顺序:
1)直接写在html代码里,也就是上述第一种用法,会在加载完所有html代码后加载文件。
2)第二种方法在后边添加 async,这样会在加载 html 情况下,同时加载 js 文件,这时候三者的调用顺序是不确定的。jquery.js
可能在 script2
和 script3
之前或之后调用,如果这样,后两个脚本中依赖 jquery
的函数将产生错误,因为脚本运行时 jquery
尚未加载。
<script async src="js/vendor/jquery.js"></script> <script async src="js/script2.js"></script> <script async src="js/script3.js"></script>
3)这时候就需要将 async 改成 defer,这样脚本将按照在页面中出现的顺序加载,因此第二个示例可确保 jquery.js
必定加载于 script2.js
和 script3.js
之前,同时 script2.js
必定加载于 script3.js
之前。
<script defer src="js/vendor/jquery.js"></script> <script defer src="js/script2.js"></script> <script defer src="js/script3.js"></script>
2 常用对话框:
1)alert("") 警告对话框, 在(“里边写警告语”)
2)confirm("") 确定对话框,提示语同上
3)prompt(“”) 输入内容的对话框 提示语同上 获取用户输入的内容可以这样写 var a=prompt(“请输入名称”):获取的就是用户输入的名字
3 常用数据类型
1)string 表示字符串
2)char 字符
3)整型(整数)int
4)布尔型 bool true真 false假
4 数字运算符号:
数字运算符
+ |
加法 | 两个数相加。 | 6 + 9 |
- |
减法 | 从左边减去右边的数。 | 20 - 15 |
* |
乘法 | 两个数相乘。 | 3 * 7 |
/ |
除法 | 用右边的数除左边的数 | 10 / 5 |
% |
求余(有时候也叫取模) |
在你将左边的数分成同右边数字相同的若干整数部分后,返回剩下的余数 |
8 % 3 (返回 2,8除以3的倍数,余下2 。) |
** |
幂 |
取底数的指数次方,即指数所指定的底数相乘。它在EcmaScript 2016 中首次引入。 |
5 ** 5 (返回 3125,相当于 5 * 5 * 5 * 5 * 5 。) |
5 声明变量
- 使用关键词
var
。例如var x = 42
。这个语法可以用来声明局部变量和全局变量。 - 直接赋值。例如
x = 42
。在函数外使用这种形式赋值,会产生一个全局变量。在严格模式下会产生错误。因此你不应该使用这种方式来声明变量。 - 使用关键词
let
。例如let y = 13
。这个语法可以用来声明块作用域的局部变量。參考下方变量的作用域(Variable scope) 。
6 变量求值
用 var
或 let
语句声明的变量,如果没有赋初始值,则其值为 undefined
。
如果访问一个未声明的变量会导致抛出一个引用错误(ReferenceError)异常:
1 var a;
2 console.log("The value of a is " + a); // a 的值是 undefined
3
4 console.log("The value of b is " + b);// b 的值是 undefined
5 var b;
6 // 在你阅读下面的‘变量声明提升’前你可能会疑惑
7
8 console.log("The value of c is " + c); // 未捕获的引用错误: c 未被定义
9
10 let x;
11 console.log("The value of x is " + x); // x 的值是 undefined
12
13 console.log("The value of y is " + y);// 未捕获的引用错误: y 未被定义
14 let y;
你可以使用 undefined
来判断一个变量是否已赋值。在以下的代码中,变量input
未被赋值,因此 if
条件语句的求值结果是 true
。
1 var input;
2 if(input === undefined){
3 doThis();
4 } else {
5 doThat();
6 }
undefined
值在布尔类型环境中会被当作 false
。例如,下面的代码将会执行函数 myFunction
,因为数组 myArray
中的元素未被赋值:
var myArray = [];
if (!myArray[0]) myFunction();
数值类型环境中 undefined
值会被转换为 NaN
。
var a;
a + 2; // 计算为 NaN
当你对一个 null
变量求值时,空值 null
在数值类型环境中会被当作0来对待,而布尔类型环境中会被当作 false
。例如:
1 var n = null;
2 console.log(n * 32); // 在控制台中会显示 0
7 常量(Constants)
常量不可以通过重新赋值改变其值,也不可以在代码运行时重新声明。它必须被初始化为某个值。
常量的作用域规则与 let
块级作用域变量相同。若省略const
关键字,则该标识符将被视为变量。