- 浏览: 1339240 次
- 性别:
- 来自: 湖南澧縣
文章分类
最新评论
-
虾米小尹:
不行啊!2.2-0.25=1.9500000000000002 ...
JavaScript浮点数运算 —— 精度问题 -
heluping000000:
引用String a= "abc",首先在 ...
String,到底创建了多少个对象? -
mack:
谢谢分享matcher.appendReplacement(s ...
string.replaceAll()中的特殊字符($ \)与matcher.appendReplacement -
wzt3309:
完全理解,比网上其他资料都要详细
String,到底创建了多少个对象? -
u014771876:
Java中十六进制转换 Integer.toHexString()
-
delete
delete 运算符删除对以前定义的对象属性或方法的引用。例如:
var o = new Object; o.name = "David"; alert(o.name); //输出 "David" delete o.name; alert(o.name); //输出 "undefined"
在这个例子中,删除了 name 属性,意味着强制解除对它的引用,将其设置为 undefined(即创建的未初始化的变量的值)。
delete 运算符不能删除开发者未定义的属性和方法。例如,下面的代码将引发错误:
delete o.toString;
-
void
void 运算符使任何值返回都为undefined。该运算符通常用于避免输出不应该输出的值,例如,从 HTML 的 <a> 元素调用 JavaScript 函数时。要正确做到这一点,函数不能返回有效值,否则浏览器将清空页面,只显示函数的结果。例如:
<a href="javascript:window.open('about:blank')">Click me</a>
如果把这行代码放入 HTML 页面,点击其中的链接,即可看到屏幕上显示 "[object]"。这是因为 window.open() 方法返回了新打开的窗口的引用。然后该对象将被转换成要显示的字符串。要避免这种效果,可以用 void 运算符调用 window.open() 函数:
<a href="javascript:void(window.open('about:blank'))">Click me</a>
这使 window.open() 调用返回 undefined,它不是有效值,不会显示在浏览器窗口中。
-
ECMAScript 位运算符
ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。在 ECMAScript 中,所有整数字面量默认都是有符号整数。
有符号整数使用 31 位表示整数的数值,用第 32 位表示整数的符号,0 表示正数,1 表示负数。数值范围从 -2147483648 到 2147483647。
var iNum = 18; alert(iNum.toString(2)); //输出 "10010"
这段代码只输出 "10010",而不是 18 的 32 位表示。其他的数位并不重要,因为仅使用前 5 位即可确定这个十进制数值。
把负整数转换成二进制字符串后,ECMAScript 并不以二进制补码的形式显示,而是用数字绝对值的标准二进制代码前面加负号的形式输出。例如:
var iNum = -18; alert(iNum.toString(2)); //输出 "-10010
注意:所有整数字面量都默认存储为有符号整数 。只有 ECMAScript 的位运算符才能创建无符号整数 。
-
位运算 NOT(~)
位运算 NOT 是三步的处理过程:
1. 把运算数转换成 32 位数字
2. 把二进制数转换成它的二进制反码
3. 把二进制数转换成浮点数
var iNum1 = 25; //25 等于 00000000000000000000000000011001 var iNum2 = ~iNum1; //转换为 11111111111111111111111111100110 alert(iNum2); //输出 "-26"
-
逻辑 NOT 运算符(!)
与逻辑 OR 和逻辑 AND 运算符不同的是,逻辑 NOT 运算符返回的一定是 Boolean 值 。
逻辑 NOT 运算符的行为如下:
• 如果运算数是对象,返回 false
• 如果运算数是数字 0,返回 true
• 如果运算数是 0 以外的任何数字,返回 false
• 如果运算数是 null,返回 true
• 如果运算数是 NaN,返回 true
• 如果运算数是 undefined,发生错误
-
逻辑 AND 运算符(&&)
如果某个运算数不是原始的 Boolean 型值,逻辑 AND 运算并不一定返回 Boolean 值 :
• 如果一个运算数是对象,另一个是 Boolean 值,返回该对象。
• 如果两个运算数都是对象,返回第二个对象。
• 如果某个运算数是 null,返回 null。
• 如果某个运算数是 NaN,返回 NaN。
• 如果某个运算数是 undefined,发生错误。
注:如果第一个运算数是 false,那么无论第二个运算数的值是什么,结果都不可能等于 true。
-
逻辑 OR 运算符(||)
与逻辑 AND 运算符相似,如果某个运算数不是 Boolean 值,逻辑 OR 运算并不一定返回 Boolean 值 :
• 如果一个运算数是对象,另一个是 Boolean 值,返回该对象。
• 如果两个运算数都是对象,返回第一个对象。
• 如果某个运算数是 null,返回 null。
• 如果某个运算数是 NaN,返回 NaN。
• 如果某个运算数是 undefined,发生错误。
注:如果第一个运算数值为 true,就不再计算第二个运算数。
-
乘法运算符(*)
在处理特殊值时,ECMAScript 中的乘法还有一些特殊行为:
• 如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。
• 如果某个运算数是 NaN,结果为 NaN。
• Infinity 乘以 0,结果为 NaN。
• Infinity 乘以 0 以外的任何数字,结果为 Infinity 或 -Infinity。
• Infinity 乘以 Infinity,结果为 Infinity。
-
除法运算符(/)
处理特殊值时,除法运算符也有一些特殊行为:
• 如果结果太大或太小,那么生成的结果是 Infinity 或 -Infinity。
• 如果某个运算数是 NaN,结果为 NaN。
• Infinity 被 Infinity 除,结果为 NaN。
• Infinity 被任何数字除,结果为 Infinity。
• 0 除一个任何非无穷大的数字,结果为 NaN。
• Infinity 被 0 以外的任何数字除,结果为 Infinity 或 -Infinity。
-
取模运算符(%)
于特殊值,取模运算符也有特殊的行为:
• 如果被除数是 Infinity,或除数是 0,结果为 NaN。
• Infinity 被 Infinity 除,结果为 NaN。
• 如果除数是无穷大的数,结果为被除数。
• 如果被除数为 0,结果为 0。
-
加法运算符(+)
处理特殊值时,ECMAScript 中的加法也有一些特殊行为:
• 某个运算数是 NaN,那么结果为 NaN。
• -Infinity 加 -Infinity,结果为 -Infinity。
• Infinity 加 -Infinity,结果为 NaN。
• +0 加 +0,结果为 +0。
• -0 加 +0,结果为 +0。
• -0 加 -0,结果为 -0。
不过,如果某个运算数是字符串,那么采用下列规则:
• 如果两个运算数都是字符串,把第二个字符串连接到第一个上。
• 如果只有一个运算数是字符串,把另一个运算数转换成字符串,结果是两个字符串连接成的字符串。
减法运算符(-)
处理特殊值时,减法运算符也有一些特殊行为:
• 某个运算数是 NaN,那么结果为 NaN。
• -Infinity 减 Infinity,结果为 NaN。
• -Infinity 减 -Infinity,结果为 NaN。
• Infinity 减 -Infinity,结果为 Infinity。
• -Infinity 减 Infinity,结果为 -Infinity。
• +0 减 +0,结果为 +0。
• -0 减 -0,结果为 -0。
• +0 减 -0,结果为 +0。
• 某个运算符不是数字,那么结果为 NaN。
-
关系运算符
任何包含 NaN 的关系运算符都要返回 false:
var bResult = "a" < 3; alert(bResult);//false
-
等性运算符
ECMAScript 提供了两套等性运算符:等号和非等号用于处理原始值,全等号和非全等号用于处理对象。
等号和非等号(==、!=)
这两个运算符都会进行类型转换。执行类型转换的规则如下:
- 如果一个运算数是 Boolean 值,在检查相等性之前,把它转换成数字值。false 转换成 0,true 为 1(true != 2)。
- 如果一个运算数是字符串,另一个是数字,在检查相等性之前,要尝试把字符串转换成数字。
- 如果一个运算数是对象,另一个是字符串,在检查相等性之前,要尝试把对象转换成字符串。
- 如果一个运算数是对象,另一个是数字,在检查相等性之前,要尝试把对象转换成数字。
在比较时,该运算符还遵守下列规则:
- 值 null 和 undefined 相等。
- 在检查相等性时,不能把 null 和 undefined 转换成其他值。
- 如果某个运算数是 NaN,等号将返回 false,非等号将返回 true。
- 如果两个运算数都是对象,那么比较的是它们的引用值。如果两个运算数指向同一对象,那么等号返回 true,否则两个运算数不等。
注: 即使两个数都是 NaN,等号仍然返回 false,因为根据规则,NaN 不等于 NaN。
全等号和非全等号(===、!==)
等号和非等号的同类运算符是全等号和非全等号。这两个运算符所做的与等号和非等号相同,只是它们在检查相等性前,不执行类型转换 。
全等号由三个等号表示(===),只有在无需类型转换运算数就相等的情况下,才返回 true 。
var sNum = "66"; var iNum = 66; alert(sNum == iNum); //输出 "true" alert(sNum === iNum); //输出 "false"
非全等号由感叹号加两个等号(!==)表示,只有在无需类型转换运算数不相等的情况下,才返回 true 。
var sNum = "66"; var iNum = 66; alert(sNum != iNum); //输出 "false" alert(sNum !== iNum); //输出 "true"
这里,第一个 alert 使用非等号,把字符串 "66" 转换成数字 66,使得它与第二个运算数 66 相等。因此,计算结果为 "false",因为两个运算数是相等的。第二个 alert 使用的非全等号。该运算是在问:"sNum" 与 "iNum" 不同吗?这个问题的答案是:是的(true),因为 sNum 是字符串,而 iNum 是数字,它们当然不同。
发表评论
-
HTML、JS、JSON特殊字符
2010-12-13 23:47 25891JS到HTML特殊字符转换 这几天做项目,发现从服务器端以J ... -
HTML — HTTP URL 中的特殊字符
2009-10-31 18:16 33131. + URL中的+号表示空格 ... -
HTML — CSS选择器
2009-10-25 21:11 2178一个样式规则由两部分组成:选择器和样式声明。选择器表明要为哪一 ... -
部分解决JsUnit无法在firefox3、safari 测试的问题
2009-10-25 07:03 1448在上一篇中出现了一个问题,就是用 jsunit2.2alpha ... -
JsUnit——eclipse插件(四)
2009-10-25 06:59 2454这节我们来看看如何通过JsUnit插件来运行前几节所测试过的测 ... -
10、JavaScript跨浏览器需注意的问题——ajax基础笔记
2009-10-21 22:19 1379向表中追加行 创建表格行时,我们要把创建的 tr 追加到 t ... -
JsUnit详解——Web服务方式(三)
2009-10-21 00:21 2462上两节提到过以Web方式来运行JsUnit,不过不是很详细,这 ... -
JsUnit详解——《ajax基础》笔记(二)
2009-10-20 22:38 2547使用标准/定制查询串 如此说来,测试运行工具是很强大的,但是 ... -
JsUnit详解——《ajax基础》笔记(一)
2009-10-20 19:57 2637JsUnit与JUnit对比 JsUnit也有setUp() ... -
使用Firefox的Web开发插件
2009-10-18 17:53 1481Firefox的Web开发插件为Firefox浏览器增加了大量 ... -
9、访问WEB服务(REST)——ajax基础笔记
2009-10-18 17:24 4054最其名的WEB服务实现是S ... -
8、读取响应头部——ajax基础笔记
2009-10-18 17:20 6764你有时可能需要从服务器获取一些内容,例如,可能想“ping”一 ... -
7、使用JSON向服务器发送数据——ajax基础笔记
2009-10-18 17:20 5242看过前面的例子后(使用XML向服务器发送复杂的数据结构),你可 ... -
6、请求参数作为XML发送——ajax基础笔记
2009-10-18 17:20 1805如果只是使用一个包含 名/值 对的简单查询串,这可能不够健壮, ... -
4、将使用W3C DOM动态生成页面——ajax基础笔记
2009-10-18 17:19 1460使用W3C DOM动态生成页面 dynamicContent ... -
3、将响应解析为XML——ajax基础笔记
2009-10-18 17:18 1076将响应解析为XML parseXML.xml清单: < ... -
2、使用innerHTML属性创建动态内容——ajax基础笔记
2009-10-18 17:17 1936使用innerHTML属性创建动态内容 如果结合作用HTML ... -
1、使用XMLHttpRequest对象——ajax基础笔记
2009-10-18 17:17 2029XMLHttpRequest最早是在 IE5 中以active ... -
30、JavaScript代码优化
2009-10-16 21:25 1577JavaScript代码的速度被分成两部分:下载时间和执行速度 ... -
JavaScript代码优化(二)
2009-10-16 01:32 1204◆字符串的使用 在IE6和IE7中因字符串级联导致的主要问题 ...
相关推荐
6. 遇到"/",将栈顶的"2"和"5"弹出,进行2/5运算,结果0.4入栈。 7. 最后,栈中只剩下一个元素0.4,这就是最终结果。 在实际编码过程中,我们还需要处理一些特殊情况,比如负数、小数、空格以及错误输入等。此外,...
运算与运算符.md
5. **操作码和操作数**:在执行指令时,操作码指示了要执行的运算类型,而操作数则是参与运算的数据。 6. **数据类型和位宽**:运算器处理的数据通常有特定的位宽,如8位、16位、32位等,这影响了运算器能处理的...
5. 位左移运算 位左移运算将整个数按位左移若干位,左移后空出的部分填 0。 例如:8 位的 byte 型变量byte a=0x65(即二进制的 01100101),将其左移 3 位:a的结果是 0x27(即二进制的00101000)。 6. 位右移运算 ...
5. 熟悉运算器内部的数据传输路径,了解数据在运算过程中的流动。 6. 设计一个支持有符号数和无符号数运算、补码加/减运算及有符号数溢出检测的运算器电路。 二、实验设备 使用JZYL—Ⅱ型计算机组成原理实验仪,...
运算放大器,简称Op Amp,是一种应用极为广泛的模拟集成电路,具备高增益的特点,通常用于信号的放大、滤波、波形产生以及信号的比较等功能。运算放大器的权威指南是针对电子工程师、设计师以及相关专业师生的重要...
5. **逆运算**:逆运算通常指的是求解x关于模n的逆元,即找到一个y使得x * y ≡ 1 (mod n)。在密码学中,模逆元在RSA算法中尤为重要,因为公钥和私钥的生成就依赖于求解大数的模逆。 **RsaKit.exe** 是一个可能的...
1. **键扩展**:首先,将用户提供的密钥与一个固定的填充值进行MD5运算,得到一个中间密钥。如果密钥长度超过MD5的输入限制(64字节),则先进行哈希运算。 2. **消息处理**:接着,用中间密钥对消息进行两次MD5...
5. **数据类型和溢出处理**: 在进行这些运算时,理解不同的数据类型(如字节、短整型、整型、长整型、单精度和双精度浮点)及其限制至关重要。特别要注意的是,定点运算中可能会遇到溢出问题,这需要使用适当的...
5. **运算器设计**: - **ALU(算术逻辑单元)**:是运算器的核心,执行基本的算术和逻辑运算。 - **寄存器**:包括累加器、暂存器、标志寄存器等,用于存储中间结果和控制状态。 - **数据通路**:连接ALU、...
9. 百分数运算:文档中出现了许多百分数运算题,如5× 70÷ 10=、25 ÷ 5× 9=等,这些题目旨在考察学生对百分数运算的掌握情况。 10. 求值运算:文档中出现了许多求值运算题,如4× 7× 7=、80+5× 7=等,...
5. **幂运算**:计算一个大数的幂通常是通过迭代或快速幂算法来实现的,后者利用了乘方的指数运算规则,大大减少了计算次数。在二进制环境下,幂运算可能涉及位操作和位移。 6. **模幂运算**:这是大数运算中的特殊...
5. **在UE4中使用**: UE4是一个强大的游戏开发引擎,支持自定义的C++插件。这个CGAL布尔运算的DLL可以作为UE4的一个插件,通过UE4的C++ API将CGAL的功能集成到游戏中。开发者需要在UE4的项目设置中配置DLL的路径,...
5. **异常处理**:浮点运算可能遇到各种异常情况,如除零、溢出、下溢、NaN(非数字)等。在硬件中,这些异常需要被检测并适当地处理,通常会触发中断或设置标志位。 6. **流水线设计**:为了提高浮点运算的吞吐量...
5. 调试与测试: 完成代码编写后,需要进行单元测试和集成测试,确保每个功能模块正确无误,同时进行性能优化,以满足预期的运行速度和内存使用。 总结,这个C语言集合运算器项目旨在提升学生的编程实践能力和理论...
5. 差模输入电阻:两个输入端之间的电阻,通常很高,接近无穷大。 6. 输出电压摆幅:运算放大器能提供的最大输出电压范围。 三、运算放大器的理想化模型 理想运算放大器有三个主要特征: 1. 无限大的开环增益 2. 零...
5. 分析和优化:根据仿真结果调整电路或逻辑,以优化性能或修正错误。 通过这个实验,学习者不仅能掌握74LS181 芯片的原理和应用,还能深化对总线结构的理解,提高使用Proteus进行电路仿真的技能。这种实践经验对于...
例如,8/3 * 4/1 * 3/2 = 16/1,7/4 * 1/9 * 18/5 = 7/1,以及4/4 * 1/10 + 1/4 = 5/2等,这些都要求学生灵活运用乘法的运算定律进行简便计算。 在能力提高部分,难度逐渐提升,如9/2 * 1/16 + 9/2 * 1/4 + 9/2 * 1...
4 Numpy------ ndarray运算(逻辑运算、通用判断函数、三元运算符 、统计指标、案例:学生成绩统计运算)