`

逻辑表达式:!+"\v1”的含义

 
阅读更多

■我们可以用类似这样的逻辑表达式:!+"\v1"来判断是否是IE浏览器。

if(!+"\v1"){
  // IE代码
} else {
  //其他浏览器代码
}

 

■原因1:在IE中,“\v”不能被正常转义成垂直制表符,结果是字符“v”。这样"\v1"在IE中就是"v1",而表达式:+"\v1"就是:+"v1",试图把v1这个字符串转变成数值,显然转换失败返回结果为NaN,最后进行!运算,即!NaN,结果就是true。在JS中遇到以下几个值就会返回false:undefined,null,NaN。

■原因2:在非IE中,\v能解析为一个垂直制表符,"\v1"就是“1”,+“\v1"就是+1,!+1返回false。

 

■扩展:其实,其他写法也是可以的。

写法1:!-"\v2"

写法2:“\v" === "v"   //这种写法可读性好一点,但是要多写2个字符

 

 

分享到:
评论

相关推荐

    C++复习题库电子版汇总(王坦).doc

    - `while(1)` 的写法是非法的,因为在C++中,这样的比较表达式没有明确的真假含义,因为它实际上会计算成 `(1) && (x)`,而两个布尔值的 `&&` 操作是没有意义的。 - 正确的写法应该是 `while((1) && (x))` 或者 `...

    江苏省计算机二级c语言模拟题

    - **知识点概述**:逻辑运算符用于组合多个条件表达式。 - **详细解释**:题目中的程序段使用逻辑运算符`&&`和`||`来组合条件表达式。`a&&b`表示`a`和`b`都为真时结果为真,`c<′B′`为真,因此整个表达式的值为1,...

    JAVA全套简明教程ch基本数据类型及操作PPT教案学习.pptx

    Java的保留字是预定义的,具有特殊含义的关键字,比如 `abstract`, `continue`, `for`, `new`, `switch` 等,这些词不能作为自定义标识符使用。 在Java中,变量是存储数据的基本单位。声明变量的语法是 `datatype ...

    Matlab考试题库+答案.pdf

    30. **保存变量**:`save my_data v1 v2 v3`将变量v1, v2, v3保存到my_data.mat文件中。 31. **MATLAB运行方式**:可以直接按F5运行脚本,或者复制.m文件到MATLAB工作区并回车执行。 32. **MATLAB含义**:MATLAB...

    重载运算符例示

    在C#编程语言中,重载运算符是一种特殊的方法,允许程序员为已有的运算符赋予新的含义或行为,以便在自定义类型上使用。在这个例示中,我们有两个文件:`MyVector.cs` 和 `Program.cs`。`MyVector.cs` 文件很可能...

    18308045_谷正阳_离散数学_hw3_v1(1)1

    这些例子展示了离散数学中如何处理和分析量词表达式,以及如何通过逻辑推理和真值分析来理解它们的含义。在实际的计算机科学中,这些知识对于理解和设计算法、证明程序正确性以及构建形式系统至关重要。

    2021-2022计算机二级等级考试试题及答案No.14820.docx

    8. Python表达式eval:eval()函数可以执行字符串中的Python表达式,'500/10'会计算得到50.0。 9. 字符串长度:len()函数返回字符串的长度,"vb"程序设计的长度是6个字符。 10. 视图的更新:在SQL中,视图V1是可...

    2021-2022计算机二级等级考试试题及答案No.4011.docx

    例如,基于简单选择列的视图(如题目中的V1)通常是可以更新的。 - **应用场景**:在需要对多个表的数据进行汇总显示但又不希望用户直接修改底层数据的情况下,可以创建视图并允许对其更新。 ### 3. Excel错误代码...

    PIC单片机C语言程序设计_4_

    这个表达式的含义是:如果`表达式1`为真,则整个表达式的结果是`表达式2`的值;否则结果是`表达式3`的值。例如: ```c int max = (a > b) ? a : b; // 如果a大于b,则max等于a;否则max等于b ``` 这种方式特别适用...

    嵌入式各种面试题

    解析一个时域信号的表达式 S=V0sin(2πf0t)+V1cos(2πf1t)+V2sin(2πf3t+90°)。 这个表达式描述了一个复合时域信号,由三个不同频率的正弦波组成。具体解释如下: - 第一项 V0sin(2πf0t) 表示频率为 f0 的正弦波...

    ch 基本程序设计PPT学习教案.pptx

    Java有一些预定义的关键字,称为保留字,如`abstract`、`continue`、`for`、`new`等,它们具有特殊的含义,不能用作自定义标识符。 5. **变量** 变量用于存储数据,有特定的数据类型。声明变量的语法如下: ```...

    2015 - Matlab - 复习资料.docx

    30. **保存变量**: `save my_data v1 v2 v3`将变量保存到my_data.mat文件。 31. **运行方式**: 可以通过F5运行或直接复制.m文件到MATLAB工作目录执行。 32. **MATLAB含义**: 矩阵实验室,强调其矩阵运算的核心特性。...

    Matlab考试试题库-答案解析.docx

    30. MATLAB的工作空间中有三个变v1, v2, v3,写出把它们保存到文件my_data.mat中的命令save my_date。 三十、Matlab程序开发 31. MATLAB提供两种运方式,是按F5和把*.m文件copy到matlab,回车。 三十一、Matlab...

    西北工业大学Matlab习题1.docx

    - `save my_data v1 v2 v3` 保存变量v1, v2, v3到my_data.mat文件。 22. **MATLAB运行方式**: - 可以通过直接输入命令运行,或者运行`.m`文件。 23. **MATLAB含义**: - MATLAB代表矩阵实验室,是一个用于数值...

    mtlab简答题 (3).pdf

    - `save my_data v1 v2 v3` 保存变量到my_data.mat文件。 - `load my_data` 加载my_data.mat文件中的变量。 14. **显示格式和帮助**: - `format long` 设置显示为15位定点小数格式。 - `help log` 查看log函数...

    Dwarf3.pdf

    DWARF v3还包括了对表达式的支持,这些表达式用于计算变量的位置或者实现更复杂的调试逻辑。此外,该版本还支持位置描述,用于表示变量的存储位置。 1.3 **厂商扩展性** DWARF v3支持扩展,允许不同的厂商添加特定...

Global site tag (gtag.js) - Google Analytics