javascript实践总结

1.document-当前html文档


2.内容的引号前加/转译


3.得到元素标签内的属性
document.getElementById("demo").元素内属性(=。。。可赋值)

得到元素标签夹的内容

document.getElementById("demo").innerHTML(=。。。可赋值)


4.head中的内容会最先执行,执行就会弹出对话框
<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任意数


11.body可以加载外部script中的函数,但是head不可以

启动的时候,先执行head,后执行body,所以body中用到的外部js可以在head中的script元素中声明


  1. JavaScript脚本放在哪里  
  2. 在HTML body部分中的JavaScripts会在页面加载的时候被执行。  
  3. 在HTML head部分中的JavaScripts会在被调用的时候才执行。  
  4.   
  5. ——————————————————————————  
  6. JavaScript应放在哪里  
  7. 页面中的JavaScripts会在浏览器加载页面的时候被立即执行,我们并不希望总是这样,有时候我们想让一段脚本在页面加载的时候执行,而有时候我们想在用户触发一个事件的时候执行脚本。  
  8.   
  9. head 部分中的脚本: 需调用才执行的脚本或事件触发执行的脚本放在HTML的head部分中。当你把脚本放在head部分中时,可以保证脚本在任何调用之前被加载。  
  10. 将JavaScript标识放置<Head>... </Head>在头部之间,使之在主页和其余部分代码之前预先装载,从而可使代码的功能更强大; 比如对*.js文件的提前调用。 也就是说把代码放在<head>区在页面载入的时候,就同时载入了代码,你在<body>区调用时就不需要再载入代码了,速度就提高了,这种区别在小程序上是看不出的,当运行很大很复杂的程序时,就可以看出了。当然也可以将JavaScript标识放置在<Body>... </Body>主体之间以实现某些部分动态地创建文档。 这里比如制作鼠标跟随事件,肯定只有当页面加载后再进行对鼠标坐标的计算。或者是filter滤镜与javascript的联合使用产生的图片淡入淡出效果 

  11. 可以在head中引用多个js文件:<script type = "text/javascript" src="js/script.js"></script>
            <script type = "text/javascript" src="js/second.js"/> 
  12. 而且html中也可多次出现<scrip>元素对




然而,如果body中没有scrip脚本语句(没有调用语句),head中的script语句就不得不执行
如果body中有scrip脚本语句(有调用语句),head中的script语句就不执行了



12.如何在html中写javascript

•Thereare a three main ways to incorporate JavaScript into your HTML documents;inline, embedded, and external.

•Inline:

  <p οnclick="JavaScript:alert('Heythanks!');">Click me!</p>

•Embedded(internal):

  <script type="text/javascript">function myFunction()

  { // JavaScript goes here... } </script>

•External

  <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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值