`
xiaoshenge
  • 浏览: 169800 次
  • 性别: Icon_minigender_1
  • 来自: 十堰
社区版块
存档分类
最新评论

javascript高级程序设计-笔记

 
阅读更多

1 var ntest = null ; alert(typeof ntest);typeof运算符对于null值会返回“object”。这个实际上是javascript最初实现中的一个错误,然后被ECMAScript沿用了。现在,null被认为是对象的占位符,从而解决了这一矛盾,但从技术上来说,它仍然是原始值。判断某个变量是否是某个对象的实例则要选择使用instanceof, alert(oString instanceof String).

 

2.值undefined并不等同于未定义的值。但是,typeof运算符并不真正区分这两种值。typeof对于声明未初始化的和未声明的都是返回undefined,但是对未声明变量除typeof之外的其他运算符的话,会引起错误。当函数无明确返回值时,返回的也是undefined。

 

3.Null类型:专用值null,即它的字面值。值undefined实际上是从值null派生过来的,因此ECMAScript把它们定义未相等的。尽管两个值相等,它们的含义不同。undefined是声明了变量但未对其初始化时赋予该变量的值,null则用于表示尚未存在的对象。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是null.

 

4.void运算符对任何值都返回undefined.该运算符通常用于避免输出不应该输出的值,例如,从html的<a>元素调用JavaScript函数时,要正确的做到这一点,函数不能返回有效的值,否则浏览器将清空页面,只显示函数的结果。例如:

<a href="javascipt:test(retun 'xxx')">test</a>

<a href="javascript:void(test(){return 'xxx'})">test</a>

没有返回值的函数真正返回的都是undefined

 

5.逻辑NOT运算符:如果运算数是undefined会发生错误。

 

6.top:最顶层的框架,即浏览器窗口自身。window另一个实例是parent。parent对象与装载文件的框架一起使用,要装载的文件也是框架集。如果页面上没有框架,window和self就等于top。

 

7opener:只在新窗口的最高层window对象才有opener属性,用top.opener更安全通过opener可以实现跨窗体之间的通讯,但是要保证是在同一域名下,使用时候可以加上document.domain=“”

 

8.reload()方法调用后的代码可能被执行,也可能不被执行,这由网络延迟和系统资源等因素决定。因此,最好把reload()调用放在最后一行。

 

9.load事件:在全部的页面载入之前,任何的DOM操作都不能发生。对于window对象可用两种方法定义onload事件处理函数。首先可用使用javascript直接将其分配给window对象:

<html>

<head>

<title>onload test</title>

<script type="text/javascript">

window.onload = function (){alert("load");}

</script>

</head>

<body></body>

</html>

 

第二种是在html中的body元素上分配:

 

<html>

<head><title>onload test</title></head>

<body onload="alert('load');"></body>

</html>

这里的问题是load事件实际是发生在窗口上,但在html中,没有任何代码可表示widown对象,所以HTML权威们就决定处理函数要在 <body />元素上分配,然后再后台放入window对象。所以定义在body上面的onload事件就是window.onload。那么能否给document.body.onload分配事件呢?当然可用。问题是,在页面还没有载入完<body>标签前,document.body是不存在的。这就意味着,如果尝试在<head>元素中分配事件处理函数,会报document.body未定义。

 

10.同源策略:javascript只能在同一个域中进行通讯。同源条件:协议相同,端口相同,域名相同。默认的状况下www.xiaoshenge.com,与app.xiaoshenge.com被认为域名不同,但是只要在每个子域的页面中加入一行document.domain设置即可,document.domain="xiaoshenge.com";

 

-----------------------------分界线----------------------------

javascript语言精粹与编程实践

 

“.”和“[ ]”都是对象成员存取运算符,所不同的是:前者右边的运算元

必须是一个标识符,后者中间的运算元可以是变量、直接量或表达式。“.”是

JavaScript 中唯一一个用“标识符”作为运算元的运算符。

由于“.”号要求运算元是标识符,因此对一些不满足标识符命名规则的

属性,就不可以使用“.”号。例如我们前面提到过的“abcd.def”、“1”和“.”

这些属性名。这种情况下就只能使用“[]”运算符

分享到:
评论

相关推荐

    Javascript高级程序设计---笔记归类.pdf

    这份“JavaScript高级程序设计---笔记归类.pdf”文档显然详细整理了JavaScript的关键知识点,包括ECMAScript规范、DOM操作、数据类型、运算符、流程控制语句、函数以及面向对象编程等。 首先,ECMAScript是...

    Javascript高级程序设计---笔记.pdf

    这份笔记主要基于《JavaScript高级程序设计》这本书,旨在深入探讨ECMAScript、DOM操作以及各种编程特性。 首先,ECMAScript是JavaScript的基础,它定义了语言的语法和基本对象。学习纪要中提到的ECMAScript部分...

    JavaScript高级程序设计2,学习笔记---第一篇

    JavaScript高级程序设计是每个前端开发者深入理解这门语言所必经之路。这篇学习笔记将带你探索JavaScript的核心概念,包括变量、数据类型、控制流、函数、对象和类等,这些都是构建复杂应用程序的基础。 首先,我们...

    javascript 高级程序设计 读书笔记(3)

    《JavaScript高级程序设计》是JavaScript开发者的经典教材,它深入探讨了这门语言的核心概念和技术。这篇读书笔记主要聚焦在第三部分,这部分通常涵盖了更高级的主题,如对象、原型、闭包以及模块化等。结合提供的...

    HTML5高级程序设计学习笔记

    ### HTML5高级程序设计学习笔记 #### 一、HTML5新增结构标签 在HTML5中,为了更好地组织页面内容并增强语义性,引入了一系列新的结构标签,这些标签不仅能够帮助开发者更清晰地定义页面的不同部分,同时也为搜索...

    javascript高级程序设计笔记第一章.docx

    本文将深入探讨在"javascript高级程序设计笔记第一章"中提及的关键概念。 首先,ECMAScript(通常简称为ES)是JavaScript的标准化规范,由ECMA国际维护。在ECMAScript中,存在五种基本数据类型:Undefined、Null、...

    javaScript高级程序设计笔记.doc

    javaScript高级程序设计笔记.doc

    JS高级程序设计-核心笔记.docx

    2. 文档对象模型(DOM):是一种用于处理HTML和XML文档的应用程序编程接口,允许JavaScript操作和修改网页内容。 3. 浏览器对象模型(BOM):提供了对浏览器窗口、框架以及其他浏览器特定功能的访问,如navigator...

    javascript高级程序设计笔记

    javacript高级程序设计的个人学习总结,涉及到很多javascript的高级特性

    JavaScript高级程序设计 学习笔记之DOM基础(五)

    这篇"JavaScript高级程序设计 DOM基础笔记.doc"文档可能详细介绍了以上这些概念,并可能包含实例和实践建议,有助于深入理解DOM操作和JavaScript在网页中的作用。通过学习和实践,开发者能更好地控制网页行为,实现...

    javaScript 高级程序设计 第1章 JavaScript简介

    javaScript 高级程序设计 第1章 JavaScript简介笔记

    网页程序设计笔记-HTML,JavaScript,CSS,Ajax

    网页程序设计是一门涵盖多个关键技术领域的综合学科,主要包括HTML(超文本标记语言...总的来说,这个压缩包提供了一个全面的网页程序设计学习路径,涵盖了从基础到高级的关键技术,适合希望进入网页开发领域的学习者。

    毕设&课设&项目&实训-基于JavaScript高级程序设计第四版的学习笔记.zip

    这本“JavaScript高级程序设计第四版”的学习笔记涵盖了JavaScript的各个方面,旨在帮助学生、开发者以及对编程感兴趣的人深入理解这一强大的脚本语言。这份笔记是针对毕设、课设、项目实训等实践性学习场景编写的,...

    第四章(js高级程序设计学习笔记)----2

    在本节中,我们将深入探讨JavaScript的高级程序设计,特别是关注"第四章(js高级程序设计学习笔记)----2"的主题。这一章很可能涵盖了JavaScript的核心概念,包括原型链(Prototype Chaining)。通过阅读名为...

    《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型

    在《JavaScript高级程序设计》中,对ECMAScript中引用类型的相关知识点进行了详细阐述。引用类型在JavaScript中是非常重要的概念,它们相较于原始类型而言,在内存中占有较大的比重,并且其行为也更为复杂。以下是对...

    JavaScript高级程序设计 阅读笔记(十五) 浏览器中的JavaScript

    Window对象 窗口操作 Window对象对操作浏览器窗口非常有用,开发者可以移动或调整浏览器窗口的大小。可用四种方法实现这些操作: moveBy(dx,dy):把浏览器窗口相对当前位置水平移动dx个像素,垂直移动dy个像素。...

    JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现

    JavaScript中的继承机制是其面向对象编程的关键特性,允许一个对象或类从另一个对象或类获取并复用属性和方法。本文将深入探讨JavaScript中的五种主要继承实现方式:对象冒充、call()、apply()、原型链以及混合方式...

Global site tag (gtag.js) - Google Analytics