引入JavaScript
script标签必须成对使用
-
内部引入
<script>
alert(‘hello,world‘);
</script>
-
外部引入
***.js
alert(‘hello world‘);
***.html
<script src="js/script.js"></script>
<script>
alert(‘hello,world‘);
</script>
基本语法
整体的应用和Java一致
必备的是浏览器调试
在网页打开检查元素目前主要应用的是Elements元素、Console控制台、Sources源码调试、Network网络、Application应用
在应用console中尽量使用console.log而不是用alert来弹窗。
数据类型
数值、文本、图片、音频、视频都属于数据类型的一种,JS依然是和Java一样是大小写敏感型
变量
基本遵循Java一样的格式,不能数字开头
var ***=**;
-
number:
123;//证书
123.0;//浮点数
1.546e1//浮点数
-3156;//负数
NaN;//不是一个数
Infinity//表示无限大
-
字符串
‘ac‘ "abd " ‘\n‘等转义字符 依然和Java中一致
-
布尔值
true; 和false;
-
逻辑运算
&& //与 两真为真
?
||//或 有真为真
?
! //非 真假对换 -
比较运算符
= //赋值 ==//等于(类型不一样,数值一样,结果会被判断为true) ===//绝对等于(类型一样,数值也一样,结果才会被判断为true)
在JS中,尽量避免是用==,最好所有的使用===
-
在JS中,NaN===NaN结果为false,NaN这个与所有的数值都不想等包括自己
-
只有使用isNaN(NaN)这个方法来判断是否为NaN
-
-
浮点数问题
console.log(1/3)===1-2/3;
输出的结果和java一样为false,需要我们尽量避免使用浮点数运算会存在精度丢失的问题。
Math.abs(1/3-(1-2/3))<0.00000001;
让两个数差值小于一个非常接近0的数就认为他们相等
-
null和undefined
-
null是空
-
underfined则是未定义
-
-
数组
在Java中的数值必须是相同类型的对象,JS中则不需要
//两种方法都可以,但是为了表示可读性,尽量使用[] var arr=[1,25,135,156,‘hello‘,null,true]; new Array(1,25,135,156,‘hello‘,null,true);
如果数组下标越界了,不会提示错误,会提示undefined未定义
-
对象
对象用大括号{},数组用中括号[]
每个属性之间用,隔开 最后一个元素不需要
//Person person=new Person(); var Person={ name:"yp", age:20, tags:[‘Java‘,‘JS‘,‘web‘] };
取值,和Java一样的调用方式
Person.age >20
-
严格检查模式
js的语法比较随意,直接写i=1;也不会有错误,但是这样生成的是全局变量,如果在几个地方都有i=*;放到一起可能会发生某种错误,var是局部变量。
一般通过‘use strict‘;严格检查模式来检查语法,let是定义局部变量,尽量使用这个关键字来定义,写JS代码的时候最好都把‘use strict‘;写在第一行
<!-- IEDA设置支持ES6语法 ‘use strict‘;严格检查模式,预防JS的随机性产生一系列问题 必须写在第一行, 局部变量尽量使用let来定义 --> <script> ‘use strict‘; let i=1; </script>
-