1.document-当前html文档
2.内容的引号前加/转译
document.getElementById("demo").元素内属性(=。。。可赋值)
得到元素标签夹的内容
document.getElementById("demo").innerHTML(=。。。可赋值)
<script>
alert("My First JavaScript");
</script>
5.JavaScript文件c的注释,大小写敏感
6.date是一个类,按.有很多函数
7.document.write/ln网页显示,里面写html语言
8.从界面读入的数字是字符类型 parseInt
9.οnclick=“showMessage(this)” this是所在的元素标签
10.randomInteger(100)0-100任意数
启动的时候,先执行head,后执行body,所以body中用到的外部js可以在head中的script元素中声明
- JavaScript脚本放在哪里
- 在HTML body部分中的JavaScripts会在页面加载的时候被执行。
- 在HTML head部分中的JavaScripts会在被调用的时候才执行。
- ——————————————————————————
- JavaScript应放在哪里
- 页面中的JavaScripts会在浏览器加载页面的时候被立即执行,我们并不希望总是这样,有时候我们想让一段脚本在页面加载的时候执行,而有时候我们想在用户触发一个事件的时候执行脚本。
- head 部分中的脚本: 需调用才执行的脚本或事件触发执行的脚本放在HTML的head部分中。当你把脚本放在head部分中时,可以保证脚本在任何调用之前被加载。
- 将JavaScript标识放置<Head>... </Head>在头部之间,使之在主页和其余部分代码之前预先装载,从而可使代码的功能更强大; 比如对*.js文件的提前调用。 也就是说把代码放在<head>区在页面载入的时候,就同时载入了代码,你在<body>区调用时就不需要再载入代码了,速度就提高了,这种区别在小程序上是看不出的,当运行很大很复杂的程序时,就可以看出了。当然也可以将JavaScript标识放置在<Body>... </Body>主体之间以实现某些部分动态地创建文档。 这里比如制作鼠标跟随事件,肯定只有当页面加载后再进行对鼠标坐标的计算。或者是filter滤镜与javascript的联合使用产生的图片淡入淡出效果
-
- 可以在head中引用多个js文件:<script type = "text/javascript" src="js/script.js"></script>
<script type = "text/javascript" src="js/second.js"/> - 而且html中也可多次出现<scrip>元素对
12.如何在html中写javascript
<p οnclick="JavaScript:alert('Heythanks!');">Click me!</p>
<script type="text/javascript">function myFunction()
{ // JavaScript goes here... } </script>
<script src="/html/script.js"type="text/javascript"/></script>
13.如何调用javascript中的响应函数
Handling events
Three options
Specify function as value for HTMLattribute(写在html文件里)
<input type="submit"onclick="showMessage()"/>
<sselect name="URL"
οnchange="window.location.href=this.form.URL.options[this.form.URL.selectedIndex].value"
Specify function as property valuefor object(写在script文件里)
document.getElementById("submitButton").onclick=↵ showMessage;
Use addEventListener()method(写在script文件里)
varsubmit = document.getElementById("submitButton");
submit.addEventListener("click",showMessage,false);
14.字符串的第一个字符为序是0
str.substr(4,6):取出为序为4的字符开始,共取出6个字符
str.substring(4,6):取出为序为4的字符开始,共取出(6-4)个字符
15.this.defaultValue是建立元素的时候的默认值,this.value是当前值
16.字符串的声明时,要赋初值,=“”
17.<body οnlοad="setInterval('NYClock()', 1000)">定时调用
18.<script>如果放到<body>里面,可以按顺序直接被执行,不需要调用
如果调用的话,可以在元素的属性中加上,不需要考虑放置位置,会在适当的时候自动调用该函数
<body1 οnlοad="setInterval('NYClock()', 1000)"
或者
插入一段<script>调用,但需要考虑放置的位置
<script>
setInterval('NYClock()', 1000);
</script>
19.什么地方可以嵌套<script>:
可以:放table标签内部
<tr></tr><script>document.writeln("<tr>");.........</script>
也可以:放tr标签内部
<tr>
<th></th>
document.write("<td>"+amount.length+"</td>");
</tr>
可以:放在td/th标签内部!!!!!!
只不过需要在标签内部加<div>
然后把<script>标签放到<div>标签里面
20.
var thisWDay=thisDate.getDay();//表示一周中的第几天,可以用来获取是星期几
var thisDay=thisDate.getDate();//表示几月几号的几号
21.
// 计算指定年月的天数
var getDays = function(year, month) {
// month 取自然值,从 1-12 而不是从 0 开始,只有算这个的时候才需要从1开始
return new Date(year, month, 0).getDate()
// 如果 month 按 javascript 的定义从 0 开始的话就是
// return new Date(year, month + 1, 0).getDate()
}
22.colspan是th/td的属性,给tr用是无效的
23.日期对象的建立:
curDate = new Date(thisYear, thisMonth-1, date);
还可以:
var calendarDay = new Date("May 28, 2015");
var calendarDay = new Date("4/8/1995");
24.正则表达式千万别加引号
创建正则表达式的方法有两种:
1.pat=/^ACT\d{6}$/;
2.pat=new RegExp(/DRPT\d{3}/);
但是两种情况都不要加引号!!!
调用:pat.test(field.value)
/^ACT\d{6}$/:^表示需判断的字符前面不能有空格,$表示后面不能有空格,如果去掉^和$即使千年和后面有空格也可以匹配
25.将字符串转化为浮点数只有这一种写法:
var travel=parseFloat(document.getElementsByClassName("expenseEntry")[3*(row-1)+0].value);
而且toFixed有返回值,一定要写成x=x.toFixed(n),不能直接x.toFixed(n)
并且必须是float类型才能用toFixed
如果一个变量为几个浮点数的运算结果,也不能说明该变量是浮点类型,仍然需要先parseFloat再toFixed
26.div内部的元素的width指的是占改div大小的百分比
27.onclick中可以出现在后面才建立的element
例如:
thumbnail.οnclick=function(){
var newPhoto=document.createElement("img");
newPhoto.src=photos[this.index].href;
var oldPhoto = document.getElementById("resizephotoBoxControls").firstChild;
var parent=document.getElementById("resizephotoBoxControls");
parent.replaceChild(newPhoto,oldPhoto);
document.getElementById("captionSpan").innerHTML=photos[this.index].innerHTML;
};
resizephotoBoxControls这个元素其实是在之后的代码中才createElement这个元素,但之前也可以用
注意!!!!:无论是匿名还是有名的function,function里面只认可传入的参数和全局参数,还又this
所以如果是thumbnail的onclick事件,onclick的function里不能出现thumbnail,函数不认,但是可以用this代替他,可达到同样的效果!
28.设置表格中格的大小,要给td设置,而不是tr
29.var contents = document.getElementsByClassName("hiddenH");
像这样的一句话,其实是指针指向指针。
contents的值会随着document.getElementsByClassName("hiddenH");的值得改变而动态的变化
所以如果把hiddenH的父节点的innerHTML设为“”(空),那么contents的值就会变成0.
30.关于cloneNode.
contents[i].cloneNode(true)是不行的,
要写成:var oldH=contents[i];
var newH = oldH.cloneNode(true);