首页 >web前端 >js教程 >一起聊聊JavaScript运算符

一起聊聊JavaScript运算符

WBOY
WBOY转载
2022-08-03 17:39:111955浏览
<p>本篇文章给大家带来了关于<a href="https://www.php.cn/course/list/17.html" target="_blank" textvalue="javascript视频教程">javascript</a>的相关知识,其中主要介绍了关于运算符的相关问题,运算符也被称为操作符,是用于实现赋值、比较和执行算术运算等功能的符号,下面一起来看一下,希望对大家有帮助。</p> <p><img src="https://img.php.cn/upload/article/000/000/067/62ea421337ce7665.jpg" alt="一起聊聊JavaScript运算符" ></p> <p>【相关推荐:<a href="https://www.php.cn/course/list/17.html" target="_blank" textvalue="javascript视频教程">javascript视频教程</a>、<a href="https://www.php.cn/course/list/1.html" target="_blank">web前端</a>】</p> <p>运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。</p> <p><strong>JavaScript中常用的运算符有:</strong></p> <ul> <li>算术运算符</li> <li>递增和递减运算符</li> <li>比较运算符</li> <li>逻辑运算符</li> <li>赋值运算符</li> </ul> <h2>算术运算符</h2> <p>概念:算术运算使用的符号,用于执行俩个变量或值的算术运算。</p> <table> <thead><tr class="firstRow"> <th>运算符</th> <th>描述</th> <th>实例</th> </tr></thead> <tbody> <tr> <td>+</td> <td>加</td> <td>10+20=30</td> </tr> <tr> <td>-</td> <td>减</td> <td>20-10=10</td> </tr> <tr> <td>*</td> <td>乘</td> <td>10*20=200</td> </tr> <tr> <td>/</td> <td>除</td> <td>10/20=0.5</td> </tr> <tr> <td>%</td> <td>取余数(取模)</td> <td>返回除法的余数9%2=1</td> </tr> </tbody> </table> <pre class="brush:php;toolbar:false">console.log(1 + 1); //2     console.log(1 - 1); //0     console.log(1 * 1); //1     console.log(1 / 1); //1     console.log(4 % 2); //0</pre> <p>浮点数在算数运算里面会有误差(避免直接参与运算):</p> <pre class="brush:php;toolbar:false">console.log(0.1 + 0.2); //0.30000000000000004</pre> <p>不能直接判断俩个浮点数是否相等。</p> <pre class="brush:php;toolbar:false">var num = 0.1 + 0.2;     console.log(num == 0.3); //false</pre> <ul> <li>算术运算符优先级:先乘除后加减</li> <li>可以使用%取余运算符来判断一个数能否被整除</li> </ul> <p><strong>表达式和返回值:</strong></p> <p>由数字、运算符、变量等组成的式子我们称为表达式。</p> <p>表达式最终都会有一个结果返回给我们,我们称为返回值。</p> <h2>递增和递减运算符</h2> <p>如果需要反复给数字变量添加或减去1,可以使用递增(<code>++</code>)和递减(<code>--</code>)运算符来完成。</p> <p><strong>繁琐写法:</strong></p> <pre class="brush:php;toolbar:false">var num = 1;     num = num + 1;     num = num + 1;     console.log(num); //3</pre> <h3><strong>前置递增运算符:</strong></h3> <p><code>++</code>写在变量的前面</p> <p><code>++num</code>前置递增就是自加1,类似于 <code>num=num+1</code></p> <pre class="brush:php;toolbar:false">var age = 10;     ++age;     console.log(age);//11 类似于age = age + 1</pre> <p><strong>使用口诀:</strong>先自加,后返回值</p> <pre class="brush:php;toolbar:false">console.log(age);     var a = 10;     console.log(++a + 10); //(10+1)+10=21</pre> <h3>后置递增运算符</h3> <p><code>++</code>写在变量的后面</p> <p><code>num++</code>后置递增,就是自加1,类似于 <code>num=num+1</code></p> <pre class="brush:php;toolbar:false">var age = 10;     age++;     console.log(age);//11 类似于age = age + 1</pre> <p><strong>使用口诀:</strong>先返回原值,后自加</p> <pre class="brush:php;toolbar:false">var a = 10;     console.log(a++ + 10); //10+10=20     console.log(a); //11</pre> <h3>区别总结</h3> <ul> <li>前置递增和后置递增运算符可以简化代码的编写,让变量的值+1比以前写法更简单。</li> <li>单独使用时,运行结果相同。</li> <li>与其他代码联用时,执行结果会不同。</li> <li>前置:先自加,后运算(<strong>先己后人</strong>)</li> <li>后置:先原值运算,后自加(<strong>先人后己</strong>)</li> <li>开发时,大多使用后置递增/递减,并且代码独占一行。例:<code>num++;</code> </li> </ul> <p><strong>练习:</strong></p> <pre class="brush:php;toolbar:false">var e = 10;     var f = e++ + ++e; //1.e++=10 e=11  2.++e=12 f=10+12     console.log(f); //22</pre> <h2>比较运算符</h2> <p><strong>概念:</strong>比较运算符(关系运算符)是<strong>俩个数据进行比较时所使用的运算符</strong>,比较运算后,会返回一个布尔值(true/false)作为比较运算的结果。</p> <table> <thead><tr class="firstRow"> <th>运算符名称</th> <th>说明</th> <th>案例</th> <th>结果</th> </tr></thead> <tbody> <tr> <td><</td><td>小于号</td><td>1>2</td> <td>true</td> </tr> <tr> <td>></td> <td>大于号</td> <td>1>2</td> <td>false</td> </tr> <tr> <td>>=</td> <td>大于等于号(大于或等于)</td> <td>2>=2</td> <td>true</td> </tr> <tr><td><=</td><td>小于等于号(小于或等于)</td><td>3<=2</td><td>false</td></tr><tr><td>==</td><td>判等号(会转型)</td><td>17==17</td><td>true</td></tr><tr><td>!=</td><td>不等号</td><td>17!=17</td><td>false</td></tr><tr><td>=== !==</td><td>全等,要求值和数据类型都一致</td><td>17==='17'</td><td>false</td></tr></tbody></table><pre class="brush:php;toolbar:false">console.log(2 <= 5); //true console.log(&#39;岳泽以&#39; = &#39;个人博客&#39;); //false console.log(17 == &#39;17&#39;); //true 默认转换数据类型,字符串型转换为数字型 console.log(17 = &#39;17&#39;); //false 数据类型不同,要求值和数据类型一致</pre><table><thead><tr class="firstRow"><th>符号</th><th>作用</th><th>用法</th></tr></thead><tbody><tr><td>=</td><td>赋值</td><td>把右边给左边</td></tr><tr><td>==</td><td>判断</td><td>判断两边值是否相等(存在隐式转换)</td></tr><tr><td>===</td><td>全等</td><td>判断两边的值和数据类型是否完全相同</td></tr></tbody></table><h2>逻辑运算符</h2><p><strong>概念</strong>:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断。</p><table><thead><tr class="firstRow"><th>逻辑运算符</th><th>说明</th><th>案例</th></tr></thead><tbody><tr><td><code>&&</code></td><td>"逻辑与",简称“与”and</td><td>ture <code>&&</code>false</td></tr><tr><td><code>丨丨</code></td><td>"逻辑或",简称“或”or</td><td>ture <code>丨丨</code>false</td></tr><tr><td><code>!</code></td><td>"逻辑非",简称“非”not</td><td><code>!</code>true</td></tr></tbody></table><h3>逻辑与</h3><p>符号:<code>&& </code>相对于and</p><p>两侧都为 <code>true</code>结果才是 <code>true</code>,只要有一侧为 <code>false</code>,结果就为 <code>false</code></p><pre class="brush:php;toolbar:false">console.log(3 > 5 && 3 > 2); //false     console.log(3 < 5 && 3 < 7); //true</pre><h3>逻辑或</h3><p>符号:<code>||</code>相当于or</p><p>俩侧都为 <code>false</code>,结果才是 <code>false</code>,只要有一侧为 <code>true</code>,结果就是 <code>true</code></p><pre class="brush:php;toolbar:false">console.log(3 > 5 && 3 > 2); //false     console.log(3 < 5 && 3 < 7); //true</pre><h3>逻辑非</h3><p>符号:<code>!</code>相对于not</p><p>逻辑非也叫作取反符,用来取一个布尔值相反的值。</p><pre class="brush:php;toolbar:false">console.log(!true); //false console.log(!false); //true</pre><h3>短路运算(逻辑中断)</h3><p>短路运算的原理:当有多个表达式(值)时,左边的表达值可以确定结果时,就不再继续运算右边的表达式的值。</p><p><strong>逻辑与:</strong></p><ul><li><strong>语法</strong>:<code>表达式1 && 表达式2</code></li><li>如果第一个表达式的值为真,则返回表达上2</li><li>如果第一个表达式的值为假,则返回表达式1</li></ul><pre class="brush:php;toolbar:false">console.log(123 && 456); //返回456,除了0以外的所有数字都为真。 console.log(123 && 456 && 789); //返回789,依次后推 console.log(0 && 456); //0</pre><p><strong>逻辑或:</strong></p><ul><li><strong>语法</strong>:<code>表达式1 || 表达式2</code></li><li>如果表达式1结果为真,则返回表达式1</li><li>如果表达式1结果为假,则返回表达式2</li></ul><pre class="brush:php;toolbar:false">console.log(123 || 456); //123 console.log(123 || 456 || 123 + 456); //123 console.log(0 || 456 || 123 + 456); //456</pre><p>注意:逻辑中断会造成短路操作,即不执行后面的代码,影响程序员的运行结果。</p><pre class="brush:php;toolbar:false">var num = 0; console.log(123 || num++); //逻辑中断造成num++未执行 console.log(num); //0</pre><h2>赋值运算符</h2><p><strong>概念</strong>:用来把数据赋值给变量的运算符</p><table><thead><tr class="firstRow"><th>赋值运算符</th><th>说明</th><th>案例</th></tr></thead><tbody><tr><td>=</td><td>直接赋值</td><td>var name='岳泽以';</td></tr><tr><td>+=、-=</td><td>加、减一个数后再赋值</td><td>var age=10; age+=5; //15</td></tr><tr><td>*=、/=、%=</td><td>乘、除、取余后再赋值</td><td>var age=10; age*=5; //10</td></tr></tbody></table><pre class="brush:php;toolbar:false">var num = 5; num += 10; console.log(num); //5+10=15 num *= 3; console.log(num); //15*3=45</pre><h2>运算符优先级</h2><table><thead><tr class="firstRow"><th>优先级</th><th>运算符</th><th>顺序</th></tr></thead><tbody><tr><td>1</td><td>小括号</td><td><code>()</code></td></tr><tr><td>2</td><td>一元运算符</td><td><code>++</code> <code>--</code> <code>!</code></td></tr><tr><td>3</td><td>算术运算符</td><td>先 <code>*</code> <code>/ </code>后 <code>+</code> <code>-</code></td></tr><tr><td>4</td><td>关系运算符</td><td><code>> <code>>=</code> <code><</code> <code><=</code></td></tr><tr><td>5</td><td>相等运算符</td><td><code>==</code> <code>!=</code> <code>===</code> <code>!==</code></td></tr><tr><td>6</td><td>逻辑运算符</td><td>先 <code>&&</code>后 <code>丨丨</code></td></tr><tr><td>7</td><td>赋值运算符</td><td><code>=</code></td></tr><tr><td>8</td><td>逗号运算符</td><td><code>,</code></td></tr></tbody></table><ul><li>一元运算符里的逻辑非优先级很高。</li><li>逻辑与比逻辑或优先级高</li></ul><pre class="brush:php;toolbar:false">console.log(4 >= 6 || '我' != '你' && !(12 * 2 == 144) && true); //true     /*      逻辑运算符分四段     1.4 >= 6 得false     2.'我' != '你'得true     3.!(12 * 2 == 144)得ture     4.true     然后判断逻辑与:2与3得true 3和4得true      再判断逻辑或得:true      */<p>【相关推荐:<a href="https://www.php.cn/course/list/17.html" target="_blank" textvalue="javascript视频教程">javascript视频教程</a>、<a href="https://www.php.cn/course/list/1.html" target="_blank">web前端</a>】</p></code> </td></tr> </tbody> </table>

以上是一起聊聊JavaScript运算符的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:csdn.net。如有侵权,请联系admin@php.cn删除