JavaScript高级程序设计 (读书笔记2)

一元运算符

一元运算符只有一个参数,即要操作的对象或值。它们是ECMAScript中最简单的运算符。

1. delete

delete运算符删除对以前定义的对象属性或方法的引用。
var o = new Object();
o.name = "jack";
alert(o.name);
delete o.name;
alert(o.name);

delete运算符不能删除开发者未定义的属性和方法。

2. void

void运算符对任何值都返回undefined。该运算符通常用于避免输出不应该输出的值, 如:
<a href="javascript:window.open('about:blank')">click me</a>
返回[object Window]

<a href="javascript:void(window.open('about:blank'))">click me</a>
避免返回[object Window]

记住,没有返回值的函数真正返回的都是undefined。


位运算符

1. 重温整数
ECMAScript整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。
在ECMAScript中,所有整数字面量默认都是有符号整数。

记住,在处理有符号整数时,开发者不能访问位31。
记住,所有整数字面量都默认存储为有符号整数。只有用ECMAScript的位运算符才能创建无符号整数。

2. 位运算NOT
NOT是三步的处理过程:

(1) 把运算数转换成32位数字;
(2) 把二进制形式转换成它的二进制反码;
(3) 把二进制反码转换成浮点数。

位运算NOT实质上是对数字求负,然后减1,因此25变为-26。
var iNum1 = 25;
var iNum2 = ~iNum1;//var iNum2 = -iNum1-1; iNum2 = >-26


Boolean运算符

1. 逻辑NOT

在ECMAScript中,逻辑NOT运算符与C和Java中的逻辑NOT运算符相同,都由感叹号(!)表示。

与逻辑OR和逻辑AND运算符不同的是,逻辑NOT运算符返回的一定是Boolean值。逻辑NOT运算符的行为如下:

如果运算数是对象,返回false。

如果运算数是数字0,返回true。

如果运算数是0以外的任何数字,返回false。

如果运算数是null,返回true。

如果运算数是NaN,返回true。

如果运算数是undefined,发生错误。

2. 逻辑AND运算符

如果某个运算数不是原始的Boolean型值,逻辑AND运算并不一定返回Boolean值:

如果一个运算数是对象,另一个是Boolean值,返回该对象。

如果两个运算数都是对象,返回第二个对象。

如果某个运算数是null,返回null。

如果某个运算数是NaN,返回NaN。

如果某个运算数是undefined,发生错误。

3. 逻辑OR运算符

与逻辑AND运算符相似,如果某个运算数不是Boolean值,逻辑OR运算并不一定返回Boolean值:

如果一个运算数是对象,另一个是Boolean值,返回该对象。

如果两个运算数都是对象,返回第一个对象。

如果某个运算数是null,返回null。

如果某个运算数是NaN,返回NaN。

如果某个运算数是undefined,发生错误。


等性运算符

1. 等号和非等号

在ECMAScript中,等号由双等号(= =)表示,当且仅当两个运算数相等时,它返回true。
非等号是感叹号加等号(!=),当且仅当两个运算数不相等时,它返回true。
为确定两个运算数是否相等,这两个运算符都会进行类型转换。

执行类型转换的基本规则如下:

如果一个运算数是Boolean值,在检查相等性之前,把它转换成数字值。false转换成0,true转换成1。

如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。

如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串(调用toString()方法)。

如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。

对象 -》 字符串-》 数字

在进行比较时,该运算符还遵守下列规则:

值null和undefined相等。

在检查相等性时,不能把null和undefined转换成其他值。

如果某个运算数是NaN,等号将返回false,非等号将返回true。
重要提示:即使两个运算数都是NaN,等号仍然返回false,因为根据规则,NaN不等于NaN。

如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一个对象,那么等号返回true,否则两个运算数不等。

2. 全等号和非全等号

全等号由三个等号(= = =)表示,只有在无需类型转换运算数就相等的情况下,才返回true。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值