1、<scripttype="text/javascript"> 表示在<script></script>之间的是文本类型 (text),javascript是为了告诉浏览器里面的文本是属于JavaScript语言。
可以在HTML文件中引入JS文件,<scriptsrc="script.js"></script> 代码引用script.js文件。在JS文件中,不需要<script>标签,直 接编写JavaScript代码就可以了。
2、 1. JS中的代码和符号都要在英文状态下输入。
2. 虽然分号“;”也可以不写,但我们要养成编程的好习惯,记得在语句末尾写上分号。
注释单行注释,在注释内容前加符号 “//”。 多行注释以"/*"开始,以"*/"结束。
在JS中区分大小写,如变量mychar与myChar是不一样的,表示是两个变量。
3、定义函数: function 函数名(){函数代码},通过直接写函数名()或者通过事件调用。
4、document.write()可用于直接向HTML 输出流写内容。简单的说就是直接在网页中输出内容。
5、alert(字符串或变量); alert弹出消息对话框(包含一个确定按钮)。
6、confirm(str);弹出对话框(包括一个确定按钮和一个取消按钮)。返回值: Boolean值
7、prompt(str1, str2);str1: 要显示在消息对话框中的文本,不可修改
str2:文本框中的内容,可以修改
点击确定按钮,文本框中的内容将作为函数返回值,点击取消按钮,将返回null
8、window.open([URL],[窗口名称], [参数字符串]),返回打开的窗口
window.open('http://www.imooc.com','_blank','width=600,height=400,top=100,left=0');
9、 window.close(); //关闭本窗口
<窗口对象>.close(); //关闭指定的窗口
10、三种常见的DOM节点: 1. 元素节点 2. 文本节点 3. 属性节点
11、document.getElementById(“id”) 返回一个对象
12、Object.innerHTML 获得对象的文本
13、Object.style.property=new style; 改变 HTML 元素的样式。 mychar.style.color="red";
14、Object.style.display =“ value”; none隐藏/block显式
15、object.className = classname 获取元素的class名
16、操作符之间的优先级(高到低): 算术操作符→比较操作符→逻辑操作符→ "="赋值符号
17、var myarray=newArray();
varmyarray= new Array(8);
var myarray = new Array(66,80,90,77,59);
varmyarray = [66,80,90,77,59];
与JAVA不同之处: 1、没有定义值则返回undefined,不是NULL
2、指定了长度为8,仍然可以将元素存储在规定长度以外。
18、函数的调用:1、直接写函数名、2、onclick点击事件,直接写函数名
18、主要事件表:
Onload事件写在body标签内
window.onunload = onunload_message; 此处没有()
onunload事件对于刷新页面和超链接跳转其他页面情况有效,对于关闭页面无效。
onbeforeunload事件才对关闭页面有效。
19、
20、getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”,通过数组 完成,代码如下:
varmydate=new Date();
var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write("今天是:" +weekday[mydate.getDay()] );
21、get/setTime() 返回/设置时间,单位毫秒数,计算从 1970 年 1 月 1 日零时到日期对象所指的日 期的毫秒数。
varmydate=new Date();
document.write("当前时间:"+mydate+"<br>");
mydate.setTime( mydate.getTime() + 2* 60 * 60 * 1000);
document.write("推迟二小时时间:" + mydate);
结果:
当前时间:ThuMar 16 2017 15:54:58 GMT+0800 (中国标准时间)
推迟二小时时间:ThuMar 16 2017 17:54:58 GMT+0800 (中国标准时间)
22、提取字符串: stringObject.substr(startPos,length) stringObject.substring(startPos,stopPos)
23、1、数组连接:arrayObject.concat(array1,array2,...,arrayN)
该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本,中间用“,”隔开。
arrayObject.join(分隔符) join()方法用于把数组中的所有元素放入一个字符串,元 素是通过指定的分隔符进行分隔的。如不添加分隔符参数,默认用“,”连接。join("") 可以进行紧密连接。
2、颠倒数组:arrayObject.reverse() 该方法会改变原来的数组,而不会创建新的 数组。
3、选定元素:arrayObject.slice(start,end)
返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素
该方法并不会修改数组,而是返回一个子数组。
24、排序:arrayObject.sort(方法函数)
25、计时器:
1、setInterval(代码,交互时间) 此方法为WINDOW对象方法,方法名前可省略WINDOW.
setInterval("clock()",1000)或者setInterval(clock,1000)
返回值:一个可以传递给 clearInterval() 从而取消对"代码"的周期性执行的值。
2、setTimeout(代码,延迟时间); setTimeout()计时器,在载入后延迟指定时间后,去执行一次 表达式,仅执行一次。
3、clearTimeout(id_of_setTimeout)id_of_setTimeout:由 setTimeout() 返回的 ID 值。var i=setTimeout("startCount()",1000);
26、window.history.[属性|方法]
属性:length返回URL数量 方法:1、back() 2、forward()3、go(number)
27、location.[属性|方法] document.write(location.href);
28、Navigator 对象包含有关浏览器的信息
29、screen对象
30、
前两个是document方法。
31、document.getElementsByName(name)返回一个数组
document.getElementsByTagName(Tagname) Tagname为标签名称
elementNode.getAttribute(name) 获取name属性的值
elementNode.setAttribute(name,value) 把指定的属性设置为指定的值。如果不存在具有指定名称 的属性,该方法将创建一个新属性
一、nodeName 属性: 节点的名称,是只读的。
1. 元素节点的 nodeName 与标签名相同
2. 属性节点的 nodeName 是属性的名称
3. 文本节点的 nodeName 永远是#text
4. 文档节点的 nodeName 永远是#document
二、nodeValue 属性:节点的值
1. 元素节点的 nodeValue 是 undefined或 null
2. 文本节点的 nodeValue 是文本自身
3. 属性节点的 nodeValue 是属性的值
三、nodeType 属性: 节点的类型,是只读的。以下常用的几种结点类型:
元素类型 节点类型
元素 1
属性 2
文本 3
注释 8
文档 9
elementNode.childNodes 访问选定元素节点下的所有子节点的列表,返回的值可以看作是一个数 组,他具有length属性。(浏览器不同,返回的子节点数量不同,除IE外,部分浏览器会将各子节 点之间看成一个空白节点。如果将个子节点连续写在一行中,则不会出现这种问题。)
node.firstChild node.lastChild elementNode.parentNode父节点只能有一个。
nodeObject.nextSibling后一个兄弟节点
nodeObject.previousSibling前一个兄弟节点(可通过节点类型过滤想要的节点)
appendChild(newnode) insertBefore(newnode,node);在node节点前插入子节点 newnode 先创建节点,后赋值,再插入节点
nodeObject.removeChild(node) 把删除的子节点赋值给x,这个子节点不在DOM树中, 但是还存在内存中,可通过 x=null彻底删除x节点。
node.replaceChild(newnode,oldnew ) 父节调换其子节点 newnode必须先被建立。
document.createElement(tagName)
document.createTextNode(data) document.body.appendChild(p);在body节 点中添加p节点
innerHTML和createTextNode都可以把一段内容添加到一个节点中,区别是如果这段内容中有html标签(如有<strong></strong>)时表现就不同了,在createTextNode中会当作文本处理,不会被浏览器解析(即文本不会被加粗),但用innerHTML就会被当作HTML代码处理(如你的例子中Hello会被加粗显示)
32、window.innerHeight - 浏览器窗口的内部高度 window.innerWidth - 浏览器窗口的内部宽度等其他窗口设置