`
songofhawk
  • 浏览: 26472 次
  • 来自: ...
社区版块
存档分类
最新评论

Javascript高级程序设计 阅读笔记(3)

阅读更多

基础

运算符

void

以前从来没用到过的运算符,它的好处是总返回undefined,这样当在超链接中调用的时候,就不会导致当前页面的重定向。例如:href="javascript:void(window.open('about blank'))" (这当然是a标签的一个属性,不过直接写html代码会被当作一个真的超链接,只好这么写了)

位运算


js也支持位运算,当然很少会遇到,我只在Walter Zorn Graphic library里见到过。这是一个很牛的JS库,完全不借助任何插件实现跨浏览器的矢量图绘制,其中大量使用了位运算来提高性能。

位运算符包括:与(&),或(|),非(~),异或(^),左移(<<),有符号右移(>>),无符号右移(>>>)

逻辑运算符


逻辑运算符本身很常见,需要注意的是哪些值会被自动转换为逻辑上的true or false:

true:对象;除0以外的任何数字

false:数字0;undefined;null;NaN

书中有个小bug:认为对undefined的变量进行逻辑非(!)运算会出错,实际上,只有该变量根本没有声明的情况下,才会出错。

关系运算符

关系运算符包括大于(>),小于(<),大于等于(>=),小于等于(<=)。用于比较数字时,它们的结果都没有什么疑问,不过用于比较字符串的话,就要注意大小写的问题。

比如:alert("Brick"<"alphabet")就会显示true。这时因为大写字母的编码总是小于小写字母;另外,alert("23"<"3")也显示true。不过,当混合比较字符串和数字的时候,js总是把字符串转换成数字,一般情况下,这样的结果比较合理,比如alert("23"<3)显示false。

全等号(===)和非全等(!==)也是很少用到的运算符,不过当不想让js自作聪明地做类型转换的时候还是很有用的。

分享到:
评论

相关推荐

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

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

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

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

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

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

    HTML5高级程序设计学习笔记

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

    javaScript高级程序设计笔记.doc

    javaScript高级程序设计笔记.doc

    javascript高级程序设计笔记

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    JavaScript高级程序设计 阅读笔记(十三) js定义类或对象

    JavaScript 中定义类或对象的方式 JavaScript 中定义类或对象有多种方式,包括工厂方式、构造函数方式、原型方式、混合的构造函数/原型方式和动态原型方法。 工厂方式是通过创建并返回特定类型的对象的函数来定义...

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

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

Global site tag (gtag.js) - Google Analytics