1.==和===的区别(!=和!==是相反的比较)

它们采用了同一性的两个不同定义。==是相等性,===是等同性。

①“===”进行两个值的比较

  • 两个值的类型不同,就不相等
  • 两个值是数字,并且值相同,除非其中一个或者两个都是NaN,否则他们是相同的。NaN和NaN也是不同的,判断一个值是否是NaN,可以使用全局函数isNaN().
  • 两个值是字符串:如果长度不相等就不相同,如果长度相同并且每一个索引的字符也相同就认为两个字符串相同。
  • 两个值是布尔值,同为true或者false就认为相同
  • 两个值是对象、数组或者函数:如果它们引用同一个对象就认为相同,如果引用了不同的对象就认为不同,即使这两个对象具有完全相同的属性或者两个数组有完全相同的元素。

②“==”进行两个值的比较

如果两个值具有相同的类型,那么就检测他们的等同性。如果这两个值完全相同。他们就想的,如果不完全相同,则它们就不相等。

如果两个值的类型不同,它们也有可能相等。

  • 如果一个值是null,一个是undefined,那么认为它们相等。
  • 如果一个值是数字,另一个是字符串,把字符串转换为数字,再用转换后的值进行比较。
  • 如果一个值是false,转化为0,进行比较,值为true,转化为1进行比较。
  • 如果一个值是对象,另一个值是数字或者字符串,将对象转换成原始类型值,再进行比较。
  • 其他的数值组合是不相等。

例子:

"1" == true

先把true转换成数字1,然后把"1"转换成数字1,两者对比相等,于是返回true。

感觉上,==进行比较有一个转换的过程。而===是没有这种感觉的,类型不同直接就返回false。

2.in运算符

in运算符要求其左边的运算数是一个字符串,或可以被转换为字符串,右边运算数是一个对象或者数组。

如果左边的值是右边对象的一个属性名,他返回true。

3.instanceof运算符

左边运算数是一个对象,右边是运算数对象类的名字。

如果左边运算数是右边类的一个实例,它返回true,否则返回false。

如果左边不是一个对象,右边是一个对象,那么它将返回false

4.字符串运算符

当+用于字符串和数字时,它并不一定具有结合性。简而言之,就是结果依赖于操作执行的顺序。从下边的例子可以发现这一点:

S = 1+2+"blind mice" //结果是"3 blind mice"

T = "blind mice:" +1+2 //结果是"blind mice:12"

5.其他运算符

  • 条件运算 ?: 例子 x>0 ? x*y : -x*y;
  • typeof运算符
  • 对象创建运算符 new
  • delete 运算符  作用是删除一个对象的属性,数组元素或者变量。(注意并不是所有的对象的属性和变量都是可以删除的,某些内部核心属性和客户端属性不能删除,用var声明的用户定义变量也不能被删除)(如果使用delete运算符删除一个不存在的属性,它返回的是true)
  • void运算符 它是一个一元运算符,可以出现在任何类型操作数之前。用法比较特殊,它总是舍弃运算数的值,然后返回undefined。这种运算符常用在客户端的Javascript:URL中,可以计算表达式的值,而不浏览器显示出来。

Javascript基础学习(2)_表达式和运算符的更多相关文章

  1. javascript 核心语言笔记 4 - 表达式和运算符

    表达式(expression)是 JavaScript 中的一个短语(phrases),JavaScript 解释器会将其计算(evaluate)出一个结果.程序中的常量.变量名.数组访问等都是表达式 ...

  2. Javascript基础学习(1)_类型、值和变量

    1.null和undefined ①概念上区别: null是一个特殊的对象,是“非对象”,使用typeof后是object对象 undefined用未定义的值表示更深层次的“空值”,它是变量的一种取值 ...

  3. Javascript基础学习(3)_对象和数组

    一.对象是一种无序的属性集合,每个属性都有自己的名字和值. 1.创建对象 花括号内逗号分隔 var person = { "Name" : "LiCheng", ...

  4. Javascript学习2 - Javascript中的表达式和运算符

    原文:Javascript学习2 - Javascript中的表达式和运算符 Javascript中的运算符与C/C++中的运算符相似,但有几处不同的地方,相对于C/C++,也增加了几个不同的运算符, ...

  5. JavaScript深入浅出补充——(一)数据类型,表达式和运算符

    项目基本做完,在进行下一阶段学习之前先看视频学习回顾一下JavaScript 一.数据类型 JavaScript中有五种原始类型和一种对象类型 JavaScript弱类型语言中隐式转换 num-0 字 ...

  6. Javascript权威指南——第二章词法结构,第三章类型、值和变量,第四章表达式和运算符,第五章语句

    第二章 词法结构 一.HTML并不区分大小写(尽管XHTML区分大小写),而javascript区分大小写:在HTML中,这些标签和属性名可以使用大写也可以使用小写,而在javascript中必须小写 ...

  7. 笔记《JavaScript 权威指南》(第6版) 分条知识点概要3—表达式和运算符

    [表达式和运算符]原始表达式,初始化表达式(对象和数组的),函数定义表达式,属性访问表达式,调用表达式,对象创建表达式,运算符概述,算术表达式,关系表达式,逻辑表达式,赋值表达式,表达式计算,其他运算 ...

  8. Python基础0:变量 赋值 表达式和运算符

    变量: 前面我们在使用print()输出内容的时候,如果内容很长,后面要再次输出的时候,就需重新在输入一遍. 如果给输出的内容起个简单的别名.这样我们用简短的别名来代替长内容,下次要输出的时候就直接使 ...

  9. Python3基础-表达式和运算符

    表达式和运算符 什么是表达式? 1+2*3就是一个表达式,这里的加号和乘号叫做运算符,1.2.3叫做操作数. 1+2*3经过计算后得到的结果是7,我们可以将计算结果存放在一个变量里,result=1+ ...

随机推荐

  1. C#反射之基础应用

    今天把反射的东西整理了一下 , 提供了最全面的东西 , 当然也是基础的东西 ,在学好了这一切的基础上 , 大家可以学习反射的具体插件等应用 首先我们建立一个类库 , 将它生成为 reflectPrj  ...

  2. 一起啃PRML - 1.2.2 Expectations and covariances 期望和协方差

    一起啃PRML - 1.2.2 Expectations and covariances 期望和协方差 @copyright 转载请注明出处 http://www.cnblogs.com/chxer/ ...

  3. Devexpress之popupMenu

    1.拖放一个BarManager控件barManager1和一个PopupMenu控件popupMenu1 2.设置popupMenu1的Manager属性为barManager1 3.拖放一个Tex ...

  4. WebTable 扩展

    # coding:utf-8 """ 页面 table处理 """ from selenium import webdriver from ...

  5. linux修改主机名

    查看机器名:uname -a 修改机器名: redhat中修改主机名 第一步:#hostname oratest 第二步:修改/etc/sysconfig/network中的hostname 第三步: ...

  6. arcGis引入Dll报无法嵌入互操作类型错误解决方法

    arcGis引入Dll报“无法嵌入互操作类型"ESRI.ARCGIS.Geometry.PointClass".请改用通用接口."   解决方法:设置引用DLL的“嵌入互 ...

  7. HDU 1712 ACboy needs your help 典型的分组背包

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712 ACboy needs your help Time Limit: 1000/1000 MS ( ...

  8. Tornado基本使用

    一.快速上手 #!/usr/bin/env python # -*- coding:utf-8 -*- import tornado.ioloop import tornado.web class M ...

  9. DiscreteSeekBar---->SeekBar的使用

    build: compile 'org.adw.library:discrete-seekbar:1.0.0' 在布局中的使用: <org.adw.library.widgets.discret ...

  10. Linux统计文件夹下文件信息

    统计当前文件夹里面有多少文件,即统计文件个数 ls -l |grep "^-"|wc -l 统计当前文件夹里面有多少文件夹,即统计文件夹个数 ls -l |grep "^ ...