两种方法:
1.使用javascript:前缀构建执行JavaScript代码的URL
运行JavaScript
2.使用元素来包含JavaScript代码
defer属性告诉浏览器要等整个页面载入之后、解析完毕之后才执行元素中的脚本。
该属性只能作用于外部脚本文件,它对于元素内嵌的脚本不起作用。
在传统模式下,浏览器会按照从上到下的方式解析HTML页面的元素。指定async属性的元素会启动新线程、异步执行元素导入的脚本文件,浏览器也会继续向下解析、处理页面内容。
该属性只能作用于外部脚本文件,它对于元素内嵌的脚本不起作用。
该元素用来向不支持JavaScript或禁用了JavaScript的浏览器显示提示信息。用法:直接在该元素内放提示信息即可,无须指定任何属性。
1.隐式定义
直接给变量赋值。
2.显示定义
使用var关键字定义变量。
使用过程中变量的数据类型可以随意改变。JavaScript中的变量是区分大小写的。
JavaScript支持自动类型转换。
值 | 字符串类型 | 数值型 | 布尔型 | 对象 |
---|---|---|---|---|
undefined | “undefined” | NaN | false | Error |
null | “null” | 0 | false | Error |
字符串 | 不变 | 数字或NaN | true | String对象 |
空字符串 | 不变 | 0 | false | String对象 |
0 | ”0“ | 0 | false | Number对象 |
NaN | “NaN” | NaN | false | Number对象 |
Infinity | ”Infinity“ | Infinity | true | Number对象 |
-Infinity | ”-Infinity“ | -Infinity | true | Number对象 |
数值 | 数值字符串 | 不变 | true | Number对象 |
true | “true” | 1 | 不变 | Boolean对象 |
false | “false” | 0 | 不变 | Boolean对象 |
对象 | toString()返回值 | valueOf(),toString()或NaN | true | 不变 |
强制类型转换
当使用parseInt()或parseFloat()时注意:
当使用toString()时:转换结果全是object。
全局变量
局部变量
如果全局变量和局部变量使用相同的变量名,则局部变量将覆盖全局变量。
JavaScript的变量没有块范围,即在if语句块内定义的变量,在块外也可以使用。
定义变量用var和不用var的区别:
变量声明总是被解释”提升“到函数体的顶部。
示例:
执行结果:
undefined
局部变量
上面test()函数等同于如下形式:
function test(){
var str;
document.writeln(str + "
");
str = "局部变量”;
document.writeln(str + "
");
}
var定义变量存在的问题:
let变量解决了上述问题。
只能在定义时指定初始值(且必须指定,如果不指定,会出错),以后不允许再改变。
const MAX_AGE = 120;
包含整数或浮点数。
科学技术法:以E为间隔符号,E不区分大小写。
如果数值只有小数部分,则可以省略整数部分的0,但小数点不能省略。
a = .43e3;
JavaScript除了支持十进制外,也支持十六进制数和八进制数。
a = 0x12; //十六进制
b = 014; //八进制
当数值变量的值超出了其表数范围时,将出现两个特殊值:Infinity(正无穷大)和-Infinity(负无穷大)。
NaN,表示非数,即Not a Number。0除0,两个无穷大执行算术运算都将产生NaN。NaN不与任何数值变量相等,NaN==NaN返回false。JavaScript提供isNaN()函数来判断某个变量是否为NaN。
特殊值通过JavaScript的内嵌类Number访问。
Number类的常量 | 特殊值 |
---|---|
Number.MAX_VALUE | 数值型变量允许的最大值 |
Number.MIN_VALUE | 数值型变量允许的最小值 |
Number.POSITIVE_INFINITY | Infinity(正无穷大) |
Number.NEGATIVE_INFINITY | -Infinity(负无穷大) |
Number.NaN | NaN(非数) |
对于浮点数值的比较,由于精度丢失的问题,建议使用差值比较法——判断两个浮点型变量是否相等,通过判断两个浮点型变量的差值,只要差值小于一个足够小的数即可认为相等。
必须用引号括起来,可以单引号,也可以是双引号。
JavaScript没有字符类型。
JavaScript以String内建类表示字符串,该类的基本方法:
indexOf()和lastIndexOf() 用于判断某个子串的位置。
searchString为要搜索的字符串,startIndex为搜索起始位置。如果字符串中没有包含目标字符串,则返回-1。
substring()和slice()
match()和search() 都支持使用正则表示式作为子串
如果要在字符串中使用单引号、双引号等特殊字符,则必须使用转义字符。