javascript心得体会范文.docx
《javascript心得体会范文.docx》由会员分享,可在线阅读,更多相关《javascript心得体会范文.docx(10页珍藏版)》请在冰点文库上搜索。
javascript心得体会范文
javascript心得体会范文
javascript心得体会javascript心得体会个人心得javascript总结1、javascript是一种基于对象,和事件驱动的并具有安全性的脚本语言;基于对象,动态语言,无需编译,直接解释执行;2、可以放在的地方;head中,一对script/script之间;B、单独文件中scriptsrc=””type=”text/javascript”/scriptC、将脚本程序代码作为属性值、href=”javascript:
alert(neDate);”javascript3、保留字以及关键字;4、javascript基本语法:
4.1标识:
大小写字母,数字,下划线,和美元符号:
不能以数字开头;javascript严格区分大小写4.3每条语句必须以分号结束;(不写,一般没事,但是可能会引起不必要的歧义)
4.5scripttype=”text/javascript”Functintest{Vari=100;//不加var就会自动变成全局变量,这样在以后会产生冲突;Alert(i);Test;/script5、数据类型:
(数字,blean,String字符串;日期什么的是对象NaN,Infinity,函数isNaN();isFinite();Blean,取值只全是小写逻辑运算符vara=100;varalert(c);//返回值是100:
就是当两边返回值都是false时,返回第一个或最后一个不为false的值;6、什么值在javascript中是false?
逻辑运算中,0,“”,false,null,undefined,NaN均表示false想要赋个默认值:
怎么办?
functintest(e){e=e||nebject;if(e.name!
=angalert(e);}}testVarsth=test;//相当于将函数赋给一个变量,这个变量之后可以传参运行了;Alert(sth(100));7、javascript中的系统函数:
7.1编码解码:
alert(encdeURI(sht中午啊处理中文情况;decdeURI,对编码的进行解码;2、数值转换;parseInt(‘’);//将其他类型转换成数字;原理:
这门课是理论和实践的结合,虽然实验课相对来说少了点,每次实验课都会很有收获。
从一窍不通到慢慢的深入了解。
其中老师起着非常大的作用,老师讲课很丰富,展示例子多,并且很幽默。
老师还很和蔼可亲。
使对这门课的学习很有信心,每每实验课上的提问,不管简单难易,老师总是不厌其烦的解答,实验课老师是最忙碌的。
使我对学习这门课的信心倍增。
先接触的是开发运行环境,Tmcat的配置,以及对MyEclipse的使用。
不得不佩服人类的大脑,它就是个小宇宙,这些神奇的东西都是上辈的智慧结晶,我们在运用着这些结晶,一直为选择计算机专业而后悔,天天对着电脑敲着代码,今天带着另一种眼光来看计算机,其实是很有趣的,我们在一点点的学习着先辈们的智慧结晶。
这些神奇的软件,它是怎么样的应运而生的。
实在是让人遐想万千,他们是怎么知道要做这些的。
配置好了Tmcat,新建的eb工程部署进去就可以在浏览器里访问自己编写的html.。
学习总是一个由浅到深的过程,慢慢的接触css,javascript,servlet,jsp。
由于实用以及方便性,软件在不断的更新,语言也在不断的更新。
很不幸的是我曾经把jspjavascript弄混淆了。
这学期课程是很繁重的,虽然不太多,但是内容是相当的难。
可能有时对eb的偷懒就是以忙为借口的吧。
终于其它课程结束了,可以好好的学习eb了。
不管你学或者不学,eb在那里,不来不去。
期末eb课程设计如期而至,说实话,eb是半深半浅,考考试,做做实验还可以,做一个系统恐怕、、、、、、就这样打开电脑好好的研究eb了。
好的eb工程不是一两个html,jsp就可以完成的,其实要思考,要想的很多。
夸张点说eb课程设计我们可谓“衣带渐宽终不悔,为伊消得人憔悴”。
晚上做梦还是jsp。
由于开始的基础不好,后期付出的代价是可想而知的,如今课程设计已经结束,在eb学习方面,收获的比其他的要多的多,它的连接性,它的应用性,甚至让我想到今后是否要从事网页的开发。
这是我在大学里接触的最有意义的一门学科。
花的时间最短而学习的一门学科。
“无可奈何花落去,似曾相识燕归来。
”一直以来很欣赏古人的这两句词,觉得很是雅美而深沉,每每读来总是能触动心灵深处那根恍然生锈的丝弦。
于这“似曾相识”的心境,经常忍不住的敛眉沉思,心弦独奏。
闭上眼睛回想着写过的eb代码,竟有种“似曾相识”之感。
或许是老朋友了吧。
总而言之,eb学习有趣,收获,只可意会不可言Javascript心得1.正则表达式:
RegExp(.*tid=(\\d*).*匹配数字用RegExp全局对象RegExp.$1用一次之后就失效了,例如:
alert(RegExp.$1);vartid=RegExp.$1;//tid将得不到任何内容2.获取鼠标位置:
tSendMail.nclickind.event;varpE.pageY){x=pE.pageX;y=pE.pageY;}else{x=pE.clientXdcument.bdy.clientLeft;y=pE.clientY意标红的那部分,当html文档在头部添加了3c的标准后,dcument.bdy.scrllTp失效,应该使用dcument.dcumentElement.scrllTp3.关于几个函数:
(1)getElementsByName:
返回的是数组调用这个函数之后,对于div来说,name属性ff下可以通过getElementsByName获得,但是IE却无法获得;另外,定义一个容器的class,使用setAttribute(className)而不是setAttribute(class),同样是因为IE不支持。
4.关于max-idth属性,IE6及其以下的版本不支持max-idth,一下为替代方法:
javascript中的变量命名,第一个字符必须是字母、下划线或美元符号,接下来跌字符可以是字母、数字或下划线、美元符号,数字不允许作为首字符出现。
javascript中的对象可以作为关联数组使用。
因为它们能够将任意的数据值和任意的字符串关联起来例如:
img.length=img[?
length‘]。
虽然undefined和null值不同,但是==运算符却将两者看作相等,如果必须区分,可以使用===或typef。
使用var多次声明同一个变量不仅是合法的,而且也不会造成任何错误。
隐式声明(未声明直接赋值)的变量总是被创建为全局变量,即使该变量只在一个函数体内使用。
没有块级作用域,函数中声明的所有变量,无论是在哪里声明的,在整个函数中他们都是有定义的:
varscpe―glbal‖;functin示‖undefined‖,而不是‖glbal‖varscpe―lcal‖;alert(scpe);//显示‖lcal‖基本类型:
数值,布尔值,null,未定义的值(undefined)固定大小引用类型:
对象,数组,函数在Javascript中,由于所有的数字都是浮点型的,所以除法的结果也都是浮点型;如果函数不包含return语句,他就只执行函数体中的每条语句后返回给调用者Undefined;如果传递的参数比函数需要的个数多,多余的值会被忽略掉,如果少,则会被赋予undefined;在一个函数体内,标识符arguments具有特殊含义,是调用对象的一个特殊属性,它类似数组(实际上是Arguments对象),能够按照数字获取传递给函数的参数值,arguments[]允许存取函数参数,arguments.length表示参数个数;除了数组元素,Arguments对象还定义了callee属性,用来引用当前正在执行的函数,这对未命名的函数调用自身非常有用:
functin(x)returnx*arguments.callee(x-1);第八章对象循环枚举对象属性:
functinDisplayPrpertyNames(bj){varnames=‖‖;fr(varnamebj)names+=name+‖\n‖;alert(names);20.关于原型对象(prttype):
javascript的对象都继承原型对象的属性,每个对象都有原型对象,继承实在查询一个属性值时自动发生的,例如在读对象的属性p时,首先检查是否具有一个名为p的属性,则再检查的原型对象是否具有这个属性;由于一个原型对象能够被多个对象继承(类似类成员,静态成员),因此存在着读写不对称性(有可能读到的是原型的属性,写的却是对象自身的属性);tString方法的目的是每个对象类都有自己特定的字符串表示,所以应该定义一个合适的tString方法将对象转换成相应的字符串形第九章数组在javascript中,数据第一个元素的下标是0。
在javascript中,数组是稀疏的,数组的下标不会落在一个连续的数字范围内,只有那些真正存储在数组中的元素才能够分配的内javascript解释器只给数组下标为0和1000的元素分配内存,但是如果用a.length取数组的长度,那么长度是1001而不是通过设置数组的length属性来阶段数组是唯一一种缩短数组长度的方法。
Array.slice(frm,end)返回数组从frm开始的元素到end6.unshift和shift和push与pp相似,只不过都是在数组的头操作,即在数组的第一个元素处操作,由于在操作的同时需要移动数组元素的位置,不知道效率是不是比push和pp第十章使用正则表达式的模式匹配重复字符可以匹配尽可能多的字符,而且允许接下来的正则表达式继续匹配,因此我们说重复是“贪婪的”。
可以以非贪婪方式进行重复,只需要在重复字符后加问号即可。
例如,正则表达式/a+/匹配一个或多个字符a,应用在“aaa”上时,匹配三个字母,但是/a+?
/只匹配一个或多个必要的字母a,因此只匹配“a”。
关于模式g,对于RegExp对象,当一个具有g标志的正则表达式调用exec时,他将把该对象的lastIndex属性设置到紧接着匹配子串的字符位置。
当同一个RegExp对象第二次调用exec时,它将从lastIndex属性所指示的字符处开始检索。
如果exec没有发现任何匹配,它会将lastIndex属性重置为0。
第十一章JavaScript=即能用于数字,又能做作用于字符串,当这些运算符用于对象时,大多数情况下,javascript会先尝试调用对象的valuef方法对他进行转换,如果该方法返回了原始值,就使用那个值,但是valuef通常返回的都是未被转换的对象,在这种情况下,Javascript将调用对象的tString方法对他进行转换。
30.要把一个值转换成字符串,可以把它连接到一个空串上:
varx_as_string要把一个值强制转换成数字,就用它减0:
varx_as_number要把一个值强制转换成布尔值,需要连用两次‖!
‖运算符:
varx_as_bleanNumber对象的tString(x)方法可以将数字转换成x进制。
继续解析HTML文档并延迟脚本的执行,直到遇到一个无法延迟的脚本。
关于/script标记,浏览器不会理解javascript代码,因此要在javascript/script时,要么拆分字符串,要么做转义:
dcument.rite(―/‖+‖scriptdcument.rite(―\/script关于nlad:
当注册了多个nlad句柄的时候,浏览器调用所有的句柄,但是,调用他们的顺序并不能保证;由于nlad时间在文档完全解析之后调用,他们不能调用dcument.rite,如果调用的话则会重新打开一个文档并且覆盖掉当前的文档,而不是在当前文档后面添加内容;关于nunlad:
窗口关闭时会调用(刷新时也会调用)
第14lcatin.href:
urllcatin.prtcl:
协议(:
前的部分,比如,filelcatin.hst:
主机名lcatin.pathname:
主机名后,参数前lcatin.search:
get参数setTimeut和clearTimeut,使用setTimeut返回值作为clearTimeut的参数,可以使setTimeut失效URL解码:
decdeURICmpnentURL编码:
encdeURICmpnent书上提到“不要混淆ind对象的lcatin属性和Dcument对象的lcatin属性,前者引用一个Lcatiin对象,而后者只是一个只读字符串,并不具有Lcatin对象的任何特性。
但是alert(ind.lcatin===dcument.lcatin);结果是true,不知道为什似乎dcument.lcatin也是一个对象!
40.关于坐标:
uteridth:
浏览器窗口的宽度uterHeight:
浏览器窗口的高度screenX:
浏览器窗口相对于桌面的横坐标距离screenY:
浏览器窗口相对于桌面的纵坐标距离inneridth:
HTML文档的宽度innerHeight:
HTML文档的高度pageXffset:
滚动条的横坐标pageYffset:
滚动条的纵坐标在做测试的时候发现,js遇到“xxxntundefined“错误时会停止脚本的运行,但是如果加上一个in对象,以访问ind对象的属性时就不会出现一个脚本错误停止运行,只是返回一个‖undefined‖对象。
关于Navigatr对象的属性:
appName:
浏览器的简单名称appVersin:
浏览器的版本号和(或)其他版本信息userAgent:
浏览器在他的USER-AGENTHTTP部发送的字符串,一般包含appName和appVersin中的所有信息appcdeName:
浏览器的代码名,Netscape用代码名“Mzilla“作为这一属性的值,为了兼容,IE也采用这种方式platfrm:
运行浏览器的代码名遍历一个对象属性的方法(以遍历Navigatr方法为例):
fr(varprpnamenavigatr){brser+=prpnamevar=ind.pen(idht=400,height=350,status=yes,resizable=yes,true);//打开新窗口.clse;//关闭alert(.clsed);//检测是否关闭,关闭返回true,否则返回false《第15如果两个DM具有相同的name属性,那么dcument.smenameHTML不区分大小写,例如nMuseverDM树结构表现为不同种类的Nde对象的一棵树,Nde接口订了一遍历和操作树的属性和方法。
Nde对象的childNdes属性返回节点的孩子的一个列表,并且firstChild,lastChild,nextSibling,previusSibling和parentNde属性提供了遍历节点的树的一种方法。
像appendChild,remveChild,replaceChild和insertBefre这样的方法能够向一个文档树中添加节点或者从一个文档树中移除节点。
接口ndeType常量ndeTypeCmmentNDE.CMMENT_NDEDcumentFragmentNDE.DCUMENT_FRAGMENT_NDE11AttrNDE.ATTRIBUTE_NDE用Element接口的getAttribute方法、setAttribute方法和remveAttribute方法可以查询,设置并删除一个元素的属性。
50.dm属性class对应javascript中的className。
层叠样式表和动态HTML》static:
根据文档内容定位abslute:
绝对定位,相对于bdy记定位fixed:
总是可见,不随文档其余的元素滚动(IE6不支持)relative:
根据上层元素定位关于visibility和display,如果visibility设置了hidden,会为该元素预留大小,但是display关于padding和margin:
以前一直不知道这两个有什么区别,设置了一下brder白?
padding是相对于brder的“内边距”,margin是brder相对于Javascript中的CSS属性,css样式属性的名字中有连字符,对应javascript中会被误解为减号,因此一般改为连字符,且原来紧接在连字符后的字母改写为大写《第17javascript事件模型:
原始事件模型(DM用HTML属性设置事件处理代码,如nclick。
事件是浏览器内部提取的,,javascript代码不能直接操作事件。
标准事件模型(DM使用addEventListener方法为时间注册句柄IE事件模型:
中间模型,介于原始事件模型和标准事件模型之间。
当事件句柄被调用时,它是作为产生事件的元素的方法调用的,所以关键字this引用了那个目标元素。
javascript事件传播:
事件传播分三个阶段进行,第一,在捕捉(capture)阶段,事件从Dcument对象沿着文档树下下传播给目标节点。
如果目标的任何一个祖先专门注册了捕捉事件句柄,那么在事件传播的过程中,就会运行这些句柄;事件传播的下一个阶段发生在目标节点本身,直接注册在目标上的适合的事件句柄将运行;事件传播的第三个阶段是起泡(bubbling)阶段,在这个阶段,时间将从目标元素向上传播回或起泡回Dcument对象的文档层次。
addEventListener(event,handle,capture_blean)其中第三个参数表示是否要在事件捕捉的阶段触发,我的理解一般是在起泡的过程触发事件,如果设置为true,有可能父节点的事件先触发,如果调用两次该函数,分别设置为true和false,则事件会调用两次深入理解JavaScript系列(总结)深入理解JavaScript系列(结201X-07-2608:
54汤姆大叔,5971阅读,48评论,编辑介绍最近几个月忙得实在是不可开交,终于把《深入理解JavaScript系列》的最后两篇“补全”了,所谓的全是不准确的,因为很多内容都没有写呢,比如高性能、Ajax安全、DM详解、JavaScript架构等等。
但因为经历所限,加上大叔希望接下来写点其它东西,所以此篇文字就暂且当前完结篇的总结吧,以后有时间的话,可以继续加上一些未涉及的专题内容。
多谢感谢了。
本系列文章主要参考了如下站点:
freshbreedcde./derekgreerECMAScript262系列:
dmitrysshnikv./DM系列文章:
net.tutsplus.设计模式系列文章参考如下三个网站:
参考书籍这里列出的书籍是大叔曾经读过的,也是在整理博文的时候经常参考的书籍,推荐给大家阅读。
初级读物:
《JavaScript高级程序设计》:
一本非常完整的经典入门书籍,被誉为JavaScript圣经之一,详解的非常详细,最新版第三版已经发布了,建议购买。
中级读物:
《JavaScript权威指南》:
另外一本JavaScript圣经,讲解的也非常详细,属于中级读物,建议购买。
《JavaScript.The.Gd.Parts》:
Yah大牛,JavaScript精神领袖DuglasCrckfrd的大作,虽然才100多页,但是字字珠玑啊!
强烈建议阅读。
《高性能JavaScript》:
这本书才200多页,非常短小,但是改变了我写作的习惯,本书通过几个非常经典的例子(艾米丽姨妈的猫、悲惨的隐士、模拟生态圈、推箱子游戏等等)来介绍JavaScript方方面面的知识和应用方法,非常值得一读,同时这本书的中文版也是大叔翻译的,预计9份左右会上市吧,希望大家多多支持。
高级读物:
《JavaScriptPatterns书中介绍到了各种经典的模式,如构造函数、单例、工厂等等,值得学习。
《Pr.JavaScript.Design.Patterns》:
Apress出版社讲解JavaScript设计模式的书,非常不错。
《DevelpingJavaScriptebApplicatins》:
构建富应用的好书,针对MVC模式有较为深入的讲解,同时也对一些流程的库进行了讲解。
《DevelpingLargeebApplicatins》:
将这本书归结在这里,貌似有点不妥,因为这里不仅有JavaScript方面的介绍,还有CSS、HTML方面的介绍,但是介绍的内容却都非常不错,真正考虑到了一个大型的eb程序下,如何进行JavaScript构设计,值得一读。
其它参考书籍:
《大话设计模式》:
计模式——可复用面向对象软件的基础》:
博文里关于设计模式的文章,有些介绍性和总结性的文章来自于总结在写此系列文章期间,大叔也学到了很多很多内容。
同时为了不误人子弟,大叔参考了很多很多文章,同时也阅读了那么多书籍,但博客里的文章,可能依然有很多错误,希望各位如果发现错误的话,请及时告知,以便及时修正而不再继续误导其它人。
同时,大家在阅读过程中,有任何问题都可以在相应的文章里留言,大叔将在不耽误工作的情况下尽力回复。
篇五:
javascript的使用(实验报告)实验七Javascript的使用学号201X14004姓名专业计算机科学与技术成绩【实验目的】Javascript的使用。
【实验内容】
1、熟悉Dreameaver软件的环境;2、会使用基本的Javascript语言进行简单的网页设计。
【实验步单击站点,选择新建站点,因为不打算做动态网页所以选择最基本及好了,不用写服务器ip,也不用服务器技术。
最后选择要存储的文件夹,最好把所有图片也建一个