20190708-上午js的疑难点
——Javee
js有三种引入方式:外联、内联、行内。
script标签可以在任何地方引入。
代码执行为从上至下,一步出错,从出错的地方开始后面都无法执行;
运行结果从上至下,以下代码为例:先内联、再外联,a标签的行内js由用户点击触发;
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
alert("这是内联js");
</script>
<script src="index.js"></script>
</head>
<body>
<a href="javascript:alert('这是行内js');">行内</a>
</body>
</html>
//index.js
alert("这是外联js");
注意到这里行内js引号冲突的话,可以使用单双引号进行区分,或者使用转义符进行区分;
js变量使用var进行定义,var可定义所有变量,
使用var定义为局部变量,不使用var默认为全局变量,
具体定义如下:
var money = 1000;
money = money + 20;
alert(money);
alert使用字符串时,加了双引号默认为字符串,没加双引号默认为为变量名;
判断一个数据是什么类型使用typeof:
var money = "RMB";
alert(typeof money);
a++和++a的区别:
a++是先使用a的值,后+1;
++a是先+1,后使用a的值。
(记忆方法:++在前就是先+1,在后就是后+1)
var x = 5;
var y = 3;
var z = x++ + --x * y++ + (--y + x++);
alert(x); //6
alert(y); //3
alert(z); //28
先从左往右计算完x,y的值,最后按照算术运算规则的优先级进行运算;