<head> 或 <body> 中的 JavaScript
您可以在 HTML 文档中放入不限数量的脚本。
脚本可位于 HTML 的 <body> 或 <head> 部分中,或者同时存在于两个部分中。
通常的做法是把函数放入 <head> 部分中,或者放在页面底部。这样就可以把它们安置到同一处位置,不会干扰页面的内容。
我们把 JavaScript 放到了页面代码的底部,这样就可以确保在<p>
元素创建之后再执行脚本。
请使用 document.write() 仅仅向文档输出写内容。
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖:
with用法
with (person) {
document.write(firstname + "<br>");
document.write(age + "<br>");
}
引号时注意的细节
有多个引号时注意及时运用单引号和双引号来避免误解造成错误。
这样是错误的写法
这里错误,不应该是双引号,因为会出错以为是与前面的对应,所以应该是单引号才对
display的隐藏与visibility的不可见的区别
display的话位置会去掉,visibility的位置是保留在那里的
八进制和十六进制
如果前缀为 0
,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0x
,则解释为十六进制数。
typeof特别之处
如果对未声明使用除 typeof 之外的其他运算符的话,会引起错误,因为其他运算符只能用于已声明的变量上。
例如,下面的代码将引发错误:
var oTemp;
alert(oTemp2 == undefined);
parseInt()
作用原理
在判断字符串是否是数字值前,parseInt()
和 parseFloat()
都会仔细分析该字符串。
parseInt()
方法首先查看位置 0 处的字符,判断它是否是个有效数字;如果不是,该方法将返回 NaN,不再继续执行其他操作。
如果该字符是有效数字,该方法将查看位置 1 处的字符,进行同样的测试。这一过程将持续到发现非有效数字的字符为止,此时 parseInt()
将把该字符之前的字符串转换成数字。
例如,如果要把字符串"12345red"
转换成整数,那么parseInt()
将返回 12345
,因为当它检查到字符r
时,就会停止检测过程。
字符串中包含的数字字面量会被正确转换为数字,比如 0xA
会被正确转换为数字10
。不过,字符串 22.5
将被转换成 22
。因为对于整数来说,小数点是无效字符。
slice() 和 substring()
ECMAScript 提供了两种方法从子串创建字符串值即 slice()
和 substring()
。
这两种方法返回的都是要处理的字符串的子串,都接受一个或两个参数。
第一个参数是要获取的子串的起始位置,第二个参数(如果使用的话)是要获取子串终止前的位置(也就是说,获取终止位置处的字符不包括在返回的值内)。如果省略第二个参数,终止位就默认为字符串的长度。
对于负数参数,slice()
方法会用字符串的长度加上参数,substring()
方法则将其作为 0 处理(也就是说将忽略它)。
释放内存
当变量 设置为 null 后,对第一个创建的对象的引用就不存在了。这意味着下次运行无用存储单元收集程序时,该对象将被销毁。
每用完一个对象后,就将其废除,来释放内存,这是个好习惯。这样还确保不再使用已经不能访问的对象,从而防止程序设计错误的出现。此外,旧的浏览器(如 IE/MAC)没有全面的无用存储单元收集程序,所以在卸载页面时,对象可能不能被正确销毁。废除对象和它的所有特性是确保内存使用正确的最好方法。
注意:废除对象的所有引用时要当心。如果一个对象有两个或更多引用,则要正确废除该对象,必须将其所有引用都设置为 null。