第1章
没记下啥,多读几遍再写吧。
第2章 在HTML中使用JavaScript
- 包含在< script>元素内部的JavaScript代码将被从上至下依次解释,解析js代码时(包括下载js文件时),页面的处理也会暂时停止,因此通常将js代码放入< head>标签内的最后几行;
- < script>的src属性可以包含来自外部域的js文件;(安全性问题)
- 延迟脚本,< script>标签的defer属性,当defer = “defer”,js脚本将会延迟到浏览器遇到< /html>时才执行,理应按顺序,但实际情况不一定按顺序,因此最好只包含一个延迟脚本;
- 异步脚本,< script>标签的asynv属性,只适用于外部脚本文件,并告诉浏览器立即下载,但并不保证按先后顺序执行;
- 推荐使用外部文件:
1)易于维护
2)可缓存:若多个页面使用同一js文件,只需下载一次,加快了页面加载速度
- 不理解的:指定async属性的目的不是让页面等待两个脚本下载和执行,从而异步加载其他内容。为此,建议异步脚本不要在加载期间修改DOM?(P14)
- < noscript>当浏览器不支持JavaScript时让页面平稳地退化;
1)浏览器不支持脚本
2)浏览器支持脚本,但脚本被禁用
<noscript>
<p>本页面需要浏览器支持(启用)JavaScript。</p>
</noscript>
第3章 基本概念
3.1~3.3 语法、关键字和保留字、变量
- 区别大小写:True和False都不是Boolean类型;
- typeof是关键字而不是函数名,使用时不需要加括号;
- typeof null 返回object,null被认为是一个空的对象引用,如果定义的变量准备在将来用于保存对象,最好初始化为null而不是其他值;
- 隐式全局变量很难维护,不推荐这么用;
- 可以使用一条语句定义多个变量
var message = "hi",
found = false,
age =29;
3.4 数据类型
- undefined类型只有一个值,即其本身;
- null是另一个只有一个值的数据类型;
- undefined值是派生自null值的,因此undefined == null返回true;
- 数值字面量:八进制必须以0开头,其后是0~7,若超出范围,前导0才会被忽略;十六进制前2位必须是0x;
- 保存浮点数值的内存空间是保存证书的2倍,因此ECMAScript会不失时机地将浮点数值转为整数;
var floatNum = 3.15e7; //等于31500000
- 浮点数值最高精度是17位小数,但其算术运算的精度远不及整数,因此无法测试特定的浮点数值;
- NaN用于表示一个本来要返回数值的操作数未返回数值的情况(这样就不会抛出错误了)
- isNaN()会尝试将参数转为数值(我理解,先Number(参数));
- isNaN()也适用于对象:valueOf() → toString() ;
- Number(“ ”) 得到0;而parseInt(“ ”)得到NaN;
- Number()适用于任何数据类型;parseInt()、parseFloat()只用于字符串;
- parseInt(): 更多地考虑参数是否符合数值模式,
1)找到第一个非空格字符;
2)若第一个非空格字符不是数字或负号,则返回NaN;
3)parseInt()会识别各进制,但ECMAScript3和5存在分歧,因此推荐提供第二个参数(基数); - parseFloat()解析到遇见第一个无效的浮点数字字符为止(第二个小数点无效,并且会忽略先导0,只解析十进制);
- 字符串中若包含转义序列,在str.length时,转移序列当1个字符计算;
- null和undefined没有toString()方法,此时可用Sting()方法;
- toString()方法可传基数;
来源:CSDN
作者:Arwin_521
链接:https://blog.csdn.net/weixin_43503511/article/details/104107454