1、只能在 HTML 输出流中使用 document.write。如果在文档已加载后使用(如在函数中),会覆盖整个文档。
2、脚本位置:①<head>
,②<body>
的尾部(元素创建后),③外部.js
文件中:<script src="xxx.js"></script>
,但外部脚本不能包含<script>
标签。
3、访问元素:document.getElementById(id)
//id:定义在html中的id。要带引号!!
输出元素:document.getElementById(id).innerHTML
写到文档输出:document.write()
注:如果在文档加载完成后执行,整个 HTML 页面将被覆盖。
加载文档指创建document对象,向文件流写入东西,边加载边进行写操作。文档加载成功后,document对象将自动关闭。之后若有脚本,脚本将创建一个新document对象,覆盖。
注:元素获取是通过HTML DOM,内容更改是通过innerHTML。
4、可以在文本字符串中使用反斜杠换行。
document,write("HELLO \ WORLD");
5、重新声明 JavaScript 变量,该变量的值不会丢失。但如果赋值会被覆盖。
6、创建数组
①
var str=new Array();
str[0]='a';
str[1]='b';
...
②condensed array:var str=new Array('a','b',...);
③literal array:var str=['a','b',...];
7、定义对象:"名称-值"对形式
var fruit={name:'apple', color:'red', id:1};
使用属性:fruit.name
或fruit['name']
声明变量类型/创建对象:var x=new 类型;
//String,Array,Boolean,Number,Object
8、undefined:对象不含值。null:清空取值。
9、with():设定代码在特定对象中的作用域。不建议用。
with(obj)
{property1_value=1;}
等价于:
obj.property_value=1
10、Navigator 对象包含有关浏览器的信息。
循环
1、for (索引 in 数组)
var str=['a','b',12];
for (x in str){
document.write(str[x]);
}
var a=""
for(x in str){
a+=str[x];
}
document.write(a);
2、js里可以用while (str[i])控制循环。
3、标签标记:标签:语句
,可用于break、continue中。
continue不论带不带标签:只能用于循环。
break 标签名
:break不带标签:只能用于跳出循环;带标签:跳出任何代码块。
函数
1、是由事件驱动的/事件被调用时执行的可重复使用的代码块。
2、使用ruturn可退出函数。
3、向未声明的js变量分配值:自动作为全局变量。
4、把数字与字符串相加,结果将成为字符串。
异常
try{
.... throw...
}
catch(err){
...
}
HTML DOM (文档对象模型)
加载网页时,浏览器会自动创建页面的DOM。
1、查找HTML元素:①通过id,②通过标签名,③通过类名。
②→先查找id为指定id的元素,再从中找标签为指定标签的元素。
var x=document.getElementById('a');
var y=x.getElementsByTagName('p');//查找段落标签的元素。
document.write(y[0].innerHTML);//输出第一个段落内容。
③→在 IE 5,6,7,8 中无效。
2、更改属性:document.getElementById('..').具体属性=...
更改样式:document.getElementById('..').style.样式=...
eg,
var x=document.getElementById('a');
x.text='123';
x.style.color='red';
js可直接嵌入html属性中:
<input type='button' value='Click me' 'document.getElementById('a').style.visibility="hidden" />
//隐藏
visibility为visible
时:可见。
3、DOM事件
向HTML元素分配事件:①放入HTML事件属性,②js分配。
事件类型:
onload/onunload 事件:进入/离开页面时被触发。