ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:36.89KB ,
资源ID:936573      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-936573.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(javascript心得Word文档格式.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

javascript心得Word文档格式.docx

1、另外,定义一个容器的class,使用 setAttribute(className)而不是setAttribute(class),同样是因为IE不支持。4.关于max-width属性,IE6及其以下的版本不支持max-width,一下为替代方法:style type=text/css media=screenp img width: expression(this.width 450 ? 100% : true);/styleendif-if IE-5.关于firefox3.5的img标签onerror事件:firefox3.5对于img标签中src为空的情况不会触发onerror事件(IE,

2、firefox2,3均可以),只好把src设一个不存在的地址,就可以触发了。以下均出自javascript权威指南第四版6. javascript中如果语句分别放置在不同的行,就可以省去分号(所以某一行没有加分号,也不报错)7. javascript中的变量命名,第一个字符必须是字母、下划线或美元符号,接下来跌字符可以是字母、数字或下划线、美元符号,数字不允许作为首字符出现。8. javascript中的对象可以作为关联数组使用。因为它们能够将任意的数据值和任意的字符串关联起来例如:img.length=imglength。9. 虽然undefined和null值不同,但是=运算符却将两者看作

3、相等,如果必须区分,可以使用=或typeof。10. 使用var多次声明同一个变量不仅是合法的,而且也不会造成任何错误。11. 隐式声明(未声明直接赋值)的变量总是被创建为全局变量,即使该变量只在一个函数体内使用。12. 没有块级作用域,函数中声明的所有变量,无论是在哪里声明的,在整个函数中他们都是有定义的:var scope = “global”;function f() alert(scope); /显示”undefined”,而不是”global”var scope = “local”;alert(scope); /显示”local”13. 基本类型:数值,布尔值,null,未定义的值(

4、undefined) - 固定大小 引用类型:对象,数组,函数 不固定大小14. 在Javascript中,由于所有的数字都是浮点型的,所以除法的结果也都是浮点型;15. 如果函数不包含return语句,他就只执行函数体中的每条语句后返回给调用者Undefined;16. 如果传递的参数比函数需要的个数多,多余的值会被忽略掉,如果少,则会被赋予undefined;17. 在一个函数体内,标识符arguments具有特殊含义,是调用对象的一个特殊属性,它类似数组(实际上是Arguments对象),能够按照数字获取传递给函数的参数值,arguments允许存取函数参数,arguments.leng

5、th表示参数个数;18. 除了数组元素,Arguments对象还定义了callee属性,用来引用当前正在执行的函数,这对未命名的函数调用自身非常有用: function(x) if(x19. for/in循环枚举对象属性: function DisplayPropertyNames(obj) var names=”; for(var name in obj) names+=name+”n”; alert(names);20. 关于原型对象(prototype):javascript的对象都继承原型对象的属性,每个对象都有原型对象,继承实在查询一个属性值时自动发生的,例如在读对象o的属性p时,首

6、先检查o是否具有一个名为p的属性,则再检查o的原型对象是否具有这个属性;由于一个原型对象能够被多个对象继承(类似类成员,静态成员),因此存在着读写不对称性(有可能读到的是原型的属性,写的却是对象自身的属性);21. toString()方法的目的是每个对象类都有自己特定的字符串表示,所以应该定义一个合适的toString()方法将对象转换成相应的字符串形式:Obj.prototype.toString=function ()第九章 数组22. 在javascript中,数据第一个元素的下标是0。23. 在javascript中,数组是稀疏的,数组的下标不会落在一个连续的数字范围内,只有那些真正

7、存储在数组中的元素才能够分配的内存。如a0=1;a1000=1; javascript解释器只给数组下标为0和1000的元素分配内存,但是如果用a.length取数组的长度,那么长度是1001而不是2.24. 通过设置数组的length属性来阶段数组是唯一一种缩短数组长度的方法。25. Array.slice(from,end)返回数组从from开始的元素到end的前一个元素,即从arrayfrom到arrayend-1。26.unshift()和shift()和push()与pop()相似,只不过都是在数组的头操作,即在数组的第一个元素处操作,由于在操作的同时需要移动数组元素的位置,不知道效

8、率是不是比push()和pop()低。第十章 使用正则表达式的模式匹配27. 重复字符可以匹配尽可能多的字符,而且允许接下来的正则表达式继续匹配,因此我们说重复是“贪婪的”。可以以非贪婪方式进行重复,只需要在重复字符后加问号即可。例如,正则表达式/a+/匹配一个或多个字符a,应用在“aaa”上时,匹配三个字母,但是/a+?/只匹配一个或多个必要的字母a,因此只匹配“a”。28. 关于模式g,对于RegExp对象,当一个具有g标志的正则表达式调用exec()时,他将把该对象的lastIndex属性设置到紧接着匹配子串的字符位置。当同一个RegExp对象第二次调用exec()时,它将从lastIn

9、dex属性所指示的字符处开始检索。如果exec()没有发现任何匹配,它会将lastIndex属性重置为0。第十一章 JavaScript的更多主题29. 运算符+,=即能用于数字,又能做作用于字符串,当这些运算符用于对象时,大多数情况下,javascript会先尝试调用对象的valueOf()方法对他进行转换,如果该方法返回了原始值,就使用那个值,但是valueOf()通常返回的都是未被转换的对象,在这种情况下,Javascript将调用对象的toString()方法对他进行转换。30. 要把一个值转换成字符串,可以把它连接到一个空串上: var x_as_string = x + “”;要把

10、一个值强制转换成数字,就用它减0:var x_as_number = x 0;要把一个值强制转换成布尔值,需要连用两次”!”运算符:var x_as_boolean = !x;31. Number对象的toString(x)方法可以将数字转换成x进制。第十二章 客户端JavaScript第十三章 Web浏览器中的Javascript32. 如果编写了一个并不产生任何文档输出的脚本,可以使用标签中的defer属性来提示浏览器这样做是安全的:继续解析HTML文档并延迟脚本的执行,直到遇到一个无法延迟的脚本。33. 关于标记,浏览器不会理解javascript代码,因此要在javascript里写时

11、,要么拆分字符串,要么做转义:document.write(“”);/script34. 关于onload: 当注册了多个onload句柄的时候,浏览器调用所有的句柄,但是,调用他们的顺序并不能保证;由于onload时间在文档完全解析之后调用,他们不能调用document.write,如果调用的话则会重新打开一个文档并且覆盖掉当前的文档,而不是在当前文档后面添加内容;35. 关于onunload:窗口关闭时会调用(刷新时也会调用)第14章 脚本化浏览器窗口36. 关于location对象:location.href: urllocation.protocol: 协议(:前的部分,比如http,

12、 file等等)location.host: 主机名location.pathname: 主机名后,参数前location.search: get参数37. setTimeout和clearTimeout,使用setTimeout返回值作为clearTimeout的参数,可以使setTimeout失效38. URL解码:decodeURIComponent URL编码:encodeURIComponent39. 书上提到“不要混淆Window对象的location属性和Document对象的location属性,前者引用一个Locatioin对象,而后者只是一个只读字符串,并不具有Locati

13、on对象的任何特性。但是alert(window.location=document.location);结果是true,不知道为什么似乎document.location也是一个对象!40. 关于坐标: outerWidth: 浏览器窗口的宽度 outerHeight: 浏览器窗口的高度 screenX: 浏览器窗口相对于桌面的横坐标距离 screenY: 浏览器窗口相对于桌面的纵坐标距离 innerWidth: HTML文档的宽度 innerHeight: HTML文档的高度 pageXOffset: 滚动条的横坐标 pageYOffset: 滚动条的纵坐标41. 关于访问变量:在做测试的

14、时候发现,js遇到“xxx is not undefined“错误时会停止脚本的运行,但是如果加上一个window对象,以访问window对象的属性时就不会出现一个脚本错误停止运行,只是返回一个”undefined”对象。42. 关于Navigator对象的属性: appName: 浏览器的简单名称 appVersion: 浏览器的版本号和(或)其他版本信息 userAgent: 浏览器在他的USER-AGENT HTTP头部发送的字符串,一般包含appName和appVersion中的所有信息 appcodeName: 浏览器的代码名,Netscape用代码名“Mozilla“作为这一属性的

15、值,为了兼容,IE也采用这种方式 platform: 运行浏览器的代码名43. 遍历一个对象属性的方法(以遍历Navigator方法为例):for(var propname in navigator) browser+=propname +:+navigatorpropname+n;44. 打开一个新窗口,关闭,检测是否关闭:var w=window.open(test,widht=400,height=350,status=yes,resizable=yes,true);/打开新窗口w.close();/关闭alert(w.closed);/检测是否关闭,关闭返回true,否则返回false

16、第15章 脚本化文档45. 如果两个DOM具有相同的name属性,那么document.somename就变成保存了这两个元素引用的一个数组。46. HTML不区分大小写,例如onMouseover47. DOM树结构表现为不同种类的Node对象的一棵树,Node接口订了一遍历和操作树的属性和方法。Node对象的childNodes属性返回节点的孩子的一个列表,并且firstChild,lastChild,nextSibling,previousSibling和parentNode属性提供了遍历节点的树的一种方法。像appendChild(),removeChild(),replaceChil

17、d()和insertBefore()这样的方法能够向一个文档树中添加节点或者从一个文档树中移除节点。48. 常见的节点类型: 接口 nodeType常量 nodeType值 Element(html, i) NODE.ELEMENT_NODE 1 Text(文本串) NODE.TEXT_NODE 3 Document(dom树根)NODE.DOCUMENT_NODE 9 Comment NODE.COMMENT_NODE 8 DocumentFragment NODE.DOCUMENT_FRAGMENT_NODE 11 Attr NODE.ATTRIBUTE_NODE 249. 用Elemen

18、t接口的getAttribute()方法、setAttribute()方法和removeAttribute()方法可以查询,设置并删除一个元素的属性。50. dom属性class对应javascript中的className。第16章 层叠样式表和动态HTML51. 关于position: static: 根据文档内容定位 absolute: 绝对定位,相对于标记定位 fixed: 总是可见,不随文档其余的元素滚动(IE6不支持) relative: 根据上层元素定位52. 关于visibility和display,如果visibility设置了hidden,会为该元素预留大小,但是displ

19、ay不会。53. 关于padding和margin:以前一直不知道这两个有什么区别,设置了一下border才明白padding是相对于border的“内边距”,margin是border相对于父元素的“外边距”16.3脚本化内联工具54. Javascript中的CSS属性,css样式属性的名字中有连字符,对应javascript中会被误解为减号,因此一般改为连字符,且原来紧接在连字符后的字母改写为大写第17章 事件和事件处理55. javascript事件模型: 原始事件模型(DOM 0):用HTML属性设置事件处理代码,如onclick。事件是浏览器内部提取的,javascript代码不能

20、直接操作事件。 标准事件模型(DOM 2):使用addEventListener()方法为时间注册句柄 IE事件模型:中间模型,介于原始事件模型和标准事件模型之间。56. 当事件句柄被调用时,它是作为产生事件的元素的方法调用的,所以关键字this引用了那个目标元素。57. javascript事件传播:事件传播分三个阶段进行,第一,在捕捉(capture)阶段,事件从Document对象沿着文档树下下传播给目标节点。如果目标的任何一个祖先专门注册了捕捉事件句柄,那么在事件传播的过程中,就会运行这些句柄;事件传播的下一个阶段发生在目标节点本身,直接注册在目标上的适合的事件句柄将运行;事件传播的第

21、三个阶段是起泡(bubbling)阶段,在这个阶段,时间将从目标元素向上传播回或起泡回Document对象的文档层次。58. addEventListener(event, handle, capture_boolean) 其中第三个参数表示是否要在事件捕捉的阶段触发,我的理解一般是在起泡的过程触发事件,如果设置为true,有可能父节点的事件先触发,如果调用两次该函数,分别设置为true和false,则事件会调用两次(捕捉阶段和冒泡阶段均会触发)59. 所有知名的实现都是用addEventListener()来调用句柄注册,就好像他们是目标元素的方法一样,也就是说,this关键字所引用的对象正

22、是在其上注册了这个句柄的对象。如果不希望依赖于这种不确定的行为,可以使用传递给句柄的Event对象的属性currentTarget。59. Event接口定义了两个方法:stopPropagation()和preventDefault(),preventDefault()方法组织浏览器执行与事件相关的默认动作。60. IE的Event对象并不是作为函数参数,而是作为Window对象的属性,IE模型支持起泡形式的事件传播,但不支持DOM模型的捕捉形式的事件传播。61. attachEvent(event, handle): 传递给IE方法的时间句柄名字前应当有个“on“,关键字this引用的是W

23、indow对象,允许同一事件句柄函数注册多次,当指定类型的一个事件发生时,注册函数被调用的次数和他被注册的次数一样多。17.4鼠标事件62.按键事件:有3中按键事件,分别是keydown、keypress和keyup,他们分别对应onkeydown、onkeypress和onkeyup这几个事件句柄,一个典型的按键会产生所有这3种事件,义次是keydown、keypress,然后是按键释放时候的keyup。如果一个按键被按下并自动重复,可能是在keydown和keyup之间有多个keypress事件,但是这和操作系统击浏览器相关,而不能想当然。63.按键事件中的键盘码:firefox定义了两个

24、属性,keycode存储了一个按键的较低层次的虚拟按键码,并且和keydown事件一起发送,charcode存储了按下一个键时所产生的可打印的字符的编码,并且和keypress事件一起发送。在IE中,只有一个keycode属性,并且它的解释也取决于时间的类型,对于keydown事件来说,keycode是一个虚拟按键码,对于keypress事件来说,keycode是一个字符码。64.调用表单的submit()方法不会触发onsubmit事件。65.可以用标记代替传统的标记创建包括Submit和Reset在内的按钮,标记更灵活一些,因为他不显示由value属性指定的纯文本,而是现实出现在和之间的h

25、tml内容。第19章 cookie和客户端持久性66.cookie值不能含有分号、逗号或空白符,因此需要使用核心javascript的全局函数encodeURIComponent()把值存入cookie之前对他编码。67.发现一个有意思的函数:prompt(pleas fill the blank,);可以出来一个对话框,填写内容,这个函数的返回值就是填写的内容;第一个参数表示提示语,第二个参数为默认输入框中的内容。javascript权威指南到此结束=68.关于javascript的回调函数顺序今天使用getjson函数,遇到一个郁闷的问题,下面是一个简单的示例function aa() v

26、ar v;$.getJSON(url,function(json) v=json.name; /alert(after ajax: +v); 1);/alert(before return: “+v); 2 return v;var u=aa();alert(after return: +u); 3在ff3.5下执行顺序是:1,2,3(大部分情况下)或者2,3,1在IE下执行顺序必然是:2,3,1最后问了陈sir,才明白是怎么回事,javascript的回调函数执行顺序与函数外层执行顺序是不确定的,也就是说有可能回调函数还没执行,就已经return了,尤其是IE比较明显,因此如果要对回调函数的

27、数据进行处理,那一定要把全部工作都在回调函数里进行,而不要把回调函数的结果再传给别的函数进行处理,否则会出现意想不到的结果。69. 阻止事件冒泡functionstopBubble(e)if(e&e.stopPropagation)e.stopPropagation()elsewindow.event.cancelBubble=truejavascript高级程序设计第2版70.标签中language属性已废弃,大多数浏览器会忽略这个标签。71.如果是在xhtml中,可以省略)表示。77.对于加法操作符,如果有一个操作数是字符串,则将另一个操作数转换为字符串,然后将两个字符串拼接起来:var result = 5 + 5; /result = 55;78.with: with语句的作用是将代码的作用域设置到一个特定的对象中:va

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2