精华内容
下载资源
问答
  • JavaScript运算符有哪些

    千次阅读 2013-09-26 08:48:52
    JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等。这些运算符一些属于自己的运算规则,下面就为大家介绍一下JavaScript中的运算符

      JavaScript中的运算符有很多,主要分为算术运算符,等同全同运算符,比较运算符,字符串运算符,逻辑运算符,赋值运算符等。这些运算符都有一些属于自己的运算规则,下面就为大家介绍一下JavaScript中的运算符。

      一、JavaScript运算符的种类

      1、算术运算符:+ 、 - 、* 、 / 、 % 、 -(一元取反) 、 ++ 、 --

      2、等同全同运算符:== 、 ===、 !== 、 !===

      3、比较运算符:< 、 > 、 <= 、 >=

      4、字符串运算符:< 、 > 、 <= 、 >= 、 = 、 +

      5、逻辑运算符:&& 、 ||、 !、

      6、赋值运算符:=、 +=、 *=、 -=、 /=

      二、JavaScript运算符的规则

      1、算术运算符规则

      “+”:可以进行“加法”与“连接”运算;如果2个运算符中的一个是字符串,javascript就将另一个转换成字符串,然后将2个运算数连接起来。

      “+”:如果一个运算数是对象,javascript就会将对象转换成数字做加法运算或者字符串做连接运算;

      “-”“*”“/” 如果2个运算数中的一个是是非数字,则将它转化成数字执行数学运算。

      “/” 在javascript中,由于所有的数都是浮点数,除法的结果都是浮点数,5 / 2 = 2.5 ;除数为0的结果为正负无穷;0/0为NaN;

      “%”模运算符:计算第一个运算数对第二个运算数的模,就是第一个运算数被第二个运算数除时,返回余数。如果运算数是非数字的,则转换成数字。

      “-”一元取反:将运算数取反,如果运算数不是数字,则转化成数字。

      “++”“--”增量运算符/减量运算符号:运算数必须是一个变量、树组的一个元素或对象的一个属性。如果运算数不是数字,则转换成数字。

      注意:如果“++”位于运算数之前,先对运算数进行增量,然后计算运算数增长后的值。

      如果“--”位于运算数之后,先计算运算数未增长之前的值,然后对运算数增量。

      例如:i = 1; //赋值给i值1

      j = ++i; //先将i增量为2,然后将2赋值给j,i的值是2,j的值也是2。

      i = 1; //赋值给i值1

      j = i++; //先将i赋值给j,然后对将i值增量到2,i的值是2,j的值是1。

      减量运算符“--”与“++”相同。

      2、等同运算符与全同运算符

      (I)“==”“!==”等同运算符与非等同运算符:

      比较2个运算数,返回一个不布尔值。

      比较数值、字符串、布尔值使用的都是量值。当且仅当两个变量存放的值相等的时候,他们才相等。

      比较对象、数组、函数的时候,使用的是引用,只有2个变量引用的是同一个对象时,他们才是相等的。两个不同的数组是完全不同的,即使他们具有完全相同的元素。对于存放对象、数组、函数的引用的变量来说,只有当他们引用的是同一个对象、数组、函数的时候,他们才相等。

      注意!应遵循的原则:

      当两个运算数的类型不同时:将他们转换成相同的类型,

      1)一个数字与一个字符串,字符串转换成数字之后,进行比较。

      2)true转换为1、false转换为0,进行比较。

      3)一个对象、数组、函数 与 一个数字或字符串,对象、数组、函数转换为原始类型的值,然后进行比较。(先使用valueOf,如果不行就使用toString)

      4)其他类型的组合不星等。

      想两个运算数类型相同,或转换成相同类型后:

      1)2个字符串:同一位置上的字符相等,2个字符串就相同。

      2)2个数字:2个数字相同,就相同。如果一个是NaN,或两个都是NaN,则不相同。

      3)2个都是true,或者2个都是false,则想同。

      4)2个引用的是同一个对象、函数、数组,则他们相等,如果引用的不是同一个对象、函数、数组,则不相同,即使这2个对象、函数、数组可以转换成完全相等的原始值。

      5)2个null,或者2个都是未定义的,那么他们相等。

      “!=”非等同运算符:与等同运算符检测的结果相反。

      (II)“===”“!===”全同运算符与非全同运算符号:

      全同运算符遵循等同运算符的比较规则,但是它不对运算数进行类型转换,当两个运算数的类型不同时,返回false;只有当两个运算数的类型相同的时候,才遵循等同运算符的比较规则进行比较。

      “!==”非全同运算符与全同运算符比较的结果相反。如果两个运算数的类型或者值不同的时候,返回true。

      3、比较运算符

      这些比较运算符用于比较不同类型的值,结果返回一个布尔值。

      “<”“>”“<=”“>=”

      注意规则:比较的运算数可以是任意类型的,但是只能在数字和运算数上执行。不是数字和字符串的运算数将被转换成数字或字符串。

      1)如果两个运算数都是数字,或者都可以转换成数字,则按照数字的大小进行比较;

      2)如果两个运算数都是字符串,或者都可以转换成字符串,则将按照字母顺序进行比较;

      3)如果字符串遇到数字,则将字符串转换成数字进行比较。

      4)如果运算数既不能转换成数字,也不能转换成字符串,则返回结果false。

      4、字符串运算符

      并没有专用的字符串运算符,只是有些运算符在遇到字符串运算数的时候,表现不同。

      (I)“+”连接2个字符串;

      1)当2个运算数都是字符串的时候,连接起来;

      2)当其中有一个是数字的时候,将数字转换成字符串,连接起来;

      (II)“>”这样的比较运算符通过比较确认两个字符串的顺序,比较采用字符的顺序,较小的位于教大的前面,大写字母位于小写字母之前。

      (III)“+”的作用方法取决于计算顺序,

      如:s = 1 + 2 +"var" 则:返回结果3var; 因为先计算1+2,然后将结果3转换成字符串与"var"连接;

      如:s = "var" + 1 + 2 则:返回结果var12; 因为先计算var与1的连接,在将结果var1与转换成字符串的2连接起来。

      5、逻辑运算符

      用于执行布尔运算,常常和比较运算符一起使用,来表示复杂的比较运算。

      “&&” 逻辑与运算、“||”逻辑或运算符、“!”逻辑非运算符

      (I)“&&”当两个运算数都是布尔值的时候,逻辑与对他们进行and操作,即:当且仅当两个布尔值都是true的时候,返回结果true,否则返回false。

      注意:实际表现

      “&&”将检测第一个表达式运算数布尔值,如果第一个运算数表达式返回false,则返回左边第一个运算数表达式的值:false;否则将继续检测第二个即右边的运算数表达式,然后返回第二个运算数表达式的值;

      例如:if (a = b) stop(); 与 (a = b) && stop(); 等价

      不赞成使用这个方法,因为运算符右边的代码不能保证会被执行,

      例如:if ((a < b) && (b++ <10) ) stop();如果运算符右边的增量必须的话,却有可能由于前面的返回值而不被执行,一般反对在&&的右边使用具有其他作用的表达式(赋值、函数调用、增减量);

      将“&&”看作是一个布尔代数的运算符,会更简单与安全。

      (II)“||”当两个运算数都是布尔值的时候,逻辑或对他们进行or操作,即:当两个布尔值有一个是true的时候,返回结果true,否则返回false。

      注意:实际表现

      “||”将检测第一个表达式运算数布尔值,如果第一个运算数表达式返回true,则返回左边第一个运算数表达式的值:true;否则将继续检测第二个即右边的运算数表达式,然后返回第二个运算数表达式的值;

      同样不赞成使用这个方法,因为运算符右边的代码不能保证会被执行,

      一般反对在||的右边使用具有其他作用的表达式(赋值、函数调用、增减量);

      将“||”看作是一个布尔代数的运算符,会更简单与安全。

      (III)“!”逻辑非是一个一元运算符,放在运算数之前,它的目的是对运算数取反。

      6、赋值运算符

      (I)“=”是赋值运算符;他总是期望左边的运算数是一个变量、数组的一个元素或对象的一个属性;

      期望右边是一个任意类型的任意的值;

      从右到左的结合性,如果一个表达式中有多个赋值运算符,则从最右边开始计算。

      注意:每一个赋值表达式都有一个值,就是运算符右边的值;

      (II)可以使用带操作的赋值运算

      “+=” 左边的值加上右边的值后,赋值于左边的值。“-=”“/=”“*=”方法一样;

      7、其他运算符

      “?:”条件运算符是唯一的一个三元运算符;

      一个表达式的布尔结果?表达式1(任意类型的任意值):表达式2(任意类型的任意值);

      根据第一个运算数的布尔值结果,如果为true,则执行第二个运算数表达式,返回第二个运算数表达式的值;如果第一个运算数的布尔值结果是false,则执行第三个运算数表达式,返回第三个运算数表达式的值。

      三、JavaScript运算符的注意

      1、要注意传递给运算符的数据类型和返回的数据类型!不同的运算符都期望它的运算数表达式计算出的结果符合某种数据类型。

      例如:对字符串是不能进行乘法运算的,"a" * "b" 是不合法的,但是,在可能的情况下,javascript会把表达式转换成正确的类型,因此,表达式 "3" * "5" 是合法的,javascript将字符串转换成数字执行运算,结果返回的是数字15,而不是字符串"15"。

      2、+ 根据运算数的不同,具有不同的表现:

      字符串 + 字符串 = 字符串(被连接);"a" + "b" = "ab" "5" + "6" = "11"

      字符串 + 数字 = (字符串转换成数字)字符串(被连接);"a" + 5 = "a5" 5被转换成字符串 "1" + 0 = "10"

      数字 + 数字 = 数字(相加)5 + 5 = 10。

      3、注意运算符的结合性,有些运算符从左到右的结合性;有些从右到左结合性。

      例如:w = a + b + c 等同于 w = (a + b) + c;

      w = ---b 等同于 w = - ( - ( -b ) ); w = a = b = c 等同于 w= ( a = ( b = c ))

      一元运算符、赋值运算符、三元运算符的结合性是从右到左的;

      JavaScript的运算符就为大家介绍到这里了,希望能对大家在日常中有所帮助。


    展开全文
  • 引用运算符

    千次阅读 2018-04-20 12:43:06
    运算符:&... 使用引用时,必须初始化。例如:int x = 3;int &amp;ref = x ;引用还可以再引用: int x = 3 ; int &amp;rx = x ; //rx = 3; int &amp;rxx = rx ; //rxx = 3;下面...

    运算符:&

    表示: 数据类型 &     例如:int &rx

    注意:表示引用时,必须引用一个存储单元。

          使用引用时,必须有初始化。例如:int x = 3;int &ref = x ;

    引用还可以再引用:

       int x = 3 ;

      int &rx = x ;  //rx = 3;

      int &rxx = rx ;  //rxx = 3;

    下面举一个简单的例子来说明引用运算符的好处。

    /* 用引用将x,y的值互换*/

    #include<stdio.h>
    void exchange(int &rx,int &ry); 
    int main(void)
    {
    int x,y;
    printf("请输入x,y:"); 
    scanf("%d %d",&x,&y);
    exchange(x,y);
    printf("x=%d\ny=%d\n",x,y);

    void exchange(int &rx,int &ry)
    {
    int t;
    t = rx;
    rx = ry;
    ry = t;
    }

    展开全文
  • 引用 对象的别名。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。 C++11中新增了:右值引用(rvalue reference...*运算符:解引用运算符。解引用一个指针将返回该指针所指的对象,为解引用的...
    引用
    对象的别名。通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名。

    C++11中新增了:右值引用(rvalue reference),这种引用主要用于内置类。严格来说,
    平时提及的“引用”,指的是“左值引用”(lvalue reference)。


    &运算符:取地址运算符


    *运算符:解引用运算符。解引用一个指针将返回该指针所指的对象,为解引用的结果赋值

    也就是为指针所指的对象赋值。


    用代码说话:

    <span style="font-size:18px;">#include<iostream>
    using namespace std;
    int main()
    {
        int i = 42;
        cout<< "i :\t" << i <<endl;
    
        int &r = i;
        // &紧随类型名出现,因此是声明的一部分,r是一个引用
        cout<< "r :\t" << r <<endl;
    
        int *p;
        // *紧随类型名出现,因此是声明的一部分,p是一个指针
    
        p = &i;
        // &出现在表达式中,是一个取地址符
        cout<< "*p :\t" << *p <<endl;
    
        *p = i;
        // *出现在表达式中,是一个解引用符
        cout<< "*p :\t" << *p <<endl;
    
        int &r2 = *p;
        // &是声明的一部分,*是一个解引用符
        cout<< "r2 :\t" << r2 <<endl;
    
        return 0;
    }
    </span>


    转载于:https://www.cnblogs.com/Genesis2018/p/8304759.html

    展开全文
  • C++ 引用运算符

    千次阅读 2013-08-06 16:28:28
    & 在C中为取址运,在C++ 中除了该作用外还有一个引用类型声明 , &在C++也可义定义为一个复制进并复制出来改变原有值的变 值声明 本来的函数应该是 int functions (HWND hWnd) 传入为HWND  若int functions ...

    引用声明:改动声明

     

    & 在C中为取址运,在C++ 中除了有该作用外还有一个引用类型声明 , &在C++也可义定义为一个复制进并复制出来改变原有值的变

    值声明

    本来的函数应该是 int functions (HWND hWnd) 传入为HWND 

    若int functions (HWND &hWnd)   传入的仍为HWND

     

    展开全文
  • 引用运算符&(C++)

    千次阅读 2018-02-27 19:52:43
    在C++中提供了一种引用运算符“&amp;”,将某一变量定义为另一个变量的引用变量,改变其中的一个变量两者均会同步变化。什么是应用变量?引用变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。...
  • c++之反引用运算符

    千次阅读 2010-05-12 17:24:00
     作者:清林,博客名:飞空静渡 在C++中,两个运算符我们很少用到,这两个运算符就是反引用运算符:->*和.*。 下面介绍一下这反引用运算符的使用。 在C++中,我们定义一个变量的指针可以这样:int a=5;int *pA...
  • [C++]关于引用运算符&的使用说明

    千次阅读 2019-06-29 22:46:20
    表示引用运算符。fun函数表示的是通过引用来进行实参于形参的传递。 int fun(String& str),参数是传递的String类对象的引用,可以直接改变传递进来的对象,和传递指针类似之处,此用法仅适用于C++,并不适用...
  • 例如现在一个类,然后重载了这个类的解引用运算符,之后的operator++函数 中返回了对this指针的解引用,那么这个对this的解引用是不是重载之后的版本? class test { public: test() : ptr(nullptr) {} ...
  • ->:间接引用运算符

    2018-06-26 23:18:00
    假设现在很多这种别墅分布在一个大迷宫里,每间别墅里都一间房子。里面放了另一个别墅的位置信息,现在你手拿 定位器 找到了第一栋别墅,从里面得到了你想要的东西(链表的数据部分),然后把下一栋别墅的位置...
  • java中的运算符有哪些

    千次阅读 2016-04-12 13:52:23
    java中的运算符有哪些
  • (a)是合法的,后置递增运算符的优先级高于解引用运算符,其含义是解引用当前迭代器所处位置的对象内容,然后把迭代器的位置向后移一位。 (b)是非法的,解引用迭代器iter得到vector对象的当前元素,结果是一个...
  • C++引用运算符重载

    2020-11-28 17:31:22
    目录创建引用变量将函数作为引用参数将引用用于结构引用应用于类对象引用应用于运算符重载何时使用引用参数为什么引入运算符重载?重载运算符的定义和使用重载限制 创建引用变量 C++和C都用&符号来表示变量的...
  • 那么下面说一下,哪些运算符重载必须用引用呢 +=运算符,它本身的意义是「自增,并返回自增后的值」,所以就要返回自己,而不是返回一个自己的拷贝(返回自己的拷贝就成别的值了) 还有= 等等 还有一个,拷贝构造...
  • 运算符

    2016-05-28 14:43:36
    PHP中的运算符有哪些?PHP运算符一般分为算术运算符、赋值运算符、比较运算符、三元运算符、逻辑运算符、字符串连接运算符、错误控制运算符。PHP中的赋值运算符PHP的赋值运算符有两种,分别是:(1)“=”:把右边...
  • java都有哪些运算符及其用法

    千次阅读 2018-01-07 11:25:19
    二元运算符有两个操作数,运算符位于两个操作数之间。算术运算符的操作数必须是数值类型。 (1)一元运算符: 一元运算符有:正(+)、负(-)、加1(++)和减1(--)4个。 加1、减1运算符只允许用于数值类型
  • HTML中如何引用数学运算符

    千次阅读 2019-09-10 10:07:45
    数学运算符用于表示数学和算数操作符,那么如何在HTML中引用数学运算符?下面本篇文章就来给大家介绍一下,希望对大家有所帮助。 在 HTML 中,数学运算符是预留的。如果希望正确地显示预留字符,我们必须在 HTML ...
  • Java提供了丰富的运算符来操纵变量。我们可以把所有的Java操作符为以下几组(除位运算和其它运算符之外,其他几种操作无...算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符、其它运算符 下面来仔细说明。
  • 为什么重载运算符要返回自身的引用

    千次阅读 多人点赞 2019-06-26 16:48:27
    为什么重载运算符一定要返回自身引用 结论 可以实现和cout一样连续调用 避免了一次拷贝构造和析构,提升程序性能 正文 重载运算符为什么一定要返回自身的引用的,返回void的不行吗? 返回自身类型不行吗为...
  • 对象的引用可以使用点运算符(.)或者中括号运算符([])来访问其属性,需要注意的是,在点运算符之后书写的属性名会被认为是标识符,而中括号运算符内的则被转为字符串值的式子。 两种运算符的选择都没有问题,点...
  • 引用与取地址运算符一句话的基本描述:假设一个n级指针p,那么*p代表(n-1)级指针(n&gt;0),&amp;p代表(n+1)级指针(n&gt;=0)。 几个知识点: 它们是可以被重载的,这在智能指针中很有用。 ...
  • 很明显,以上问题的根本在于运算符(解引用和递增运算符)作用的优先级,只有弄清楚了相关运算符的优先级顺序,这个问题的解决自然水到渠成。 2,递增运算符基础 在这是解释文章后序问题之前,我们要知道非常...
  • 三目运算符可以返回引用类型,当返回的候选表达式中一个是右值时,则返回非引用类型。 #include <iostream> #include <cstring> using namespace std; int main() { int a = 3; int b = 2; // 1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 281,838
精华内容 112,735
关键字:

引用运算符有哪些