JavaScript习题(语言结构)
17. 由关键字表示的运算符有____、____、____、____、____、____。 18. 运算符“+”既可以对数字进行代数求和,也可以对字符串进行连接操作,而它总是把对象转换成可以进行加法运算或者可以进行连接操作的数值或字符串,这一转换是通过调用对象方法valueOf()或toString()来执行的。如果一个数是字符串,_____________________,然后两者连接在一起。 19. 写出下面运算的输出结果: var a=2.96; var b=1.0; var c=”2.33” alert(a+b);_______________ alert(a+””+b);____________________ alert(a+c);______________________ alert(c-0+1);_________________ alert(c+1);__________________ JavaScript:parseFloat(“123abc”);_____________ JavaScript:parseFloat(“abc123”);_____________ JavaScript: “abc123”-0;_____________ JavaScript:”123abc”-0;___________ JavaScript:true-0;___________ JavaScript:parseFloat(true);___________ var i,j,h; I=1; j=++i; h=i++; alert(i);__________ alert(j);__________ alert(h);_________ 20. 运算符的隐式转换和parseFloat()方法并不完全相同,对于字符串来说,前者是一种_____,而后者是一种______;对于布尔常量来说,前者总是将true转换为_____,将false转换为_____,后者则得到____;对于对象来说,前者总是试图调用对象的valueOf()方法进行转换,如果失败再调用toString()方法(唯一的例外是Data 类型),而后者是直接尝试调用对象的toString()方法。 21. “-”通常用来将字符串快速转换成数值,具体操作是____________________________。 22. 运算符“/”对两个运算数进行代数除法操作,如果运算数是非数值的,运算符“/”会将它们转换成数值。 JavaScript并不区分数值的精度类型,因此当你用一个整数来除另一个整数时,得到的结果可能是______的,如果你希望得到整数商,你就可能需要调用Math.floor()方法来进行精度处理。当除法的除数为0时,运算结果通常为____,而如果是0/0,则结果将得到_____。 23. 运算符“-”总是对两个运算数进行代数减法操作,如果运算数是非数值的,那么运算符”-”总是试图将它们转成数值,这一转换和调用_____方法的数值转换类似,但是通用效率更高。如果转换失败,将会得到特殊的值____。 24. 取模运算也适用于浮点数,运算结果的精度和________那个相同。 25. JavaScript中的关系运算符主要有四对,分别是大于和小于_________,等于和不等于_________,大于等于和小于等于__________以及等同于和不等同于____________。 26. null==undefined返回true,null>=undefined返回___________ null>=null和null<=null的结果为___________ JavaScript是Web开发中不可或缺的一部分,主要用于网页和网络应用的交互。以下是对题目中涉及的知识点的详细解释: 1. 关键字运算符:在JavaScript中,由关键字表示的运算符包括`typeof`、`delete`、`void`、`in`、`instanceof`和`new`。 2. 运算符“+”的特性:“+”运算符具有双重功能,既能进行数学相加,也能进行字符串拼接。当一个数是字符串时,它会将另一个操作数转换为字符串,然后执行连接操作。 3. 运算结果: - `alert(a+b);` 输出 `3.96` - `alert(a+””+b);` 输出 `2.961.0` - `alert(a+c);` 输出 `"2.962.33"` (字符串连接) - `alert(c-0+1);` 输出 `"2.331"` (先转换为数字再运算) - `alert(c+1);` 输出 `"2.331"` (字符串与数字相加,字符串优先级高) - `JavaScript:parseFloat(“123abc”);` 输出 `123` (只解析到第一个非数字字符前) - `JavaScript:parseFloat(“abc123”);` 输出 `NaN` (无法解析为数字) - `JavaScript: “abc123”-0;` 输出 `NaN` (字符串与数字相减,无法转换) - `JavaScript:”123abc”-0;` 输出 `123` (字符串与0相减,转换为数字) - `JavaScript:true-0;` 输出 `1` (布尔值转换为数字) - `JavaScript:parseFloat(true);` 输出 `1` (布尔值转换为数字) 4. 隐式转换与parseFloat()的区别:隐式转换是自动进行的,如字符串转数字,而parseFloat()是显式的转换函数。对于字符串,隐式转换是尝试转换,而parseFloat()仅解析开头的数字部分。对于布尔值,隐式转换总是将`true`转换为`1`,`false`转换为`0`,而parseFloat()将得到`NaN`。对于对象,隐式转换尝试调用`valueOf()`和`toString()`,而parseFloat()直接调用`toString()`。 5. 字符串转数值:"-"运算符可以尝试将字符串快速转换为数字,它会忽略非数字字符并返回可解析的数字部分,如果不能解析,则结果为`NaN`。 6. 运算符"/"的处理:除法运算符`/`对非数值进行转换,整数除以整数可能产生浮点数结果。除数为0会得到`Infinity`或`-Infinity`,而0/0得到`NaN`。 7. 运算符"-"的转换:类似于valueOf()的转换,但更高效。转换失败得到`NaN`。 8. 取模运算的精度:取模运算对浮点数同样适用,结果的精度与操作数相同。 9. JavaScript的关系运算符:大于 `<`、小于 `>`、等于 `==`、不等于 `!=`、大于等于 `>=`、小于等于 `<=`、等同于 `===` 和 不等同于 `!==`。 10. null与undefined的比较:`null==undefined` 返回 `true`,`null>=undefined` 返回 `true`,`null>=null` 和 `null<=null` 结果都为 `true`。 以上是JavaScript中关于语言结构、运算符、转换规则以及关系运算符等相关知识点的详细阐述。理解这些基础知识对于编写JavaScript代码至关重要。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助