JS基础入门篇—运算符

2018-05-17 admin

1.算术运算符

1.算术运算符

  • 算术运算符:+ ,***** ,/%(取余)++
  • 重点:**++–**前置和后置的区别。

1.1 前置 ++ 和 后置 ++

前置++:先自增值,再使用值后置++:先使用值,再自增值

<script>
    console.log("-------- 后置++ ----------");
    var a=0;
    console.log(a++);//0,后置是先用值,在自增值。
    console.log(a);//1 自增后的值
    console.log("-------- 前置++ ----------");
    var b=2;
    console.log(++b);//3 前置是先自增,后用值。
    console.log(b);//3
    console.log("-------- 后置++ ----------");
    var d = 2;
    var e = d++;// 后置是先用值,在自增值。
    console.log( d,e );//3 2 
    console.log( "--------- 前置++ -------------" );
    var f = 20;
    var g = ++f;// 前置是先自增,后用值。
    console.log( f,g );//21 21;
</script>

2.赋值运算符

2.赋值运算符

  • 赋值运算符:+= —=*,=/=%=
  • 计算完值后,并赋值给自己。

3.关系运算符

3.关系运算符

  • <= , >= , == , != , === , !==
  • **注意:**返回的值都是布尔值。

3.1 ===== 的区别

  • == 进行比较的时候,会比较 两者的内容,不进行数据类型的比较
  • === 不仅判断内容 ,还会判断 数据类型。
<script>
    console.log(1=="1");//true 只比较内容,内容相等故为真。
    console.log(1==="1");//false 不仅比较内容,还比较数据类型。数据类型不为真,故假。
    console.log( 1 != "1" );//false
    console.log( 1 !== "1" );//true
</script>

3.2需要记忆的内容

<script>
    console.log( null == undefined );//true
    console.log( null == 0 );//false
    console.log( undefined == 0 );//false
</script>

4.逻辑运算符

  • && (并且) 如果左边为真,返回右边的值。 如果左边为假,返回左边的值。
  • || (或者) 如果左边为真,返回左边的值。 如果左边为假,返回右边的值
  • ! (否) 把 **!**后面的数转成布尔值然后取反
<script>
    console.log( 1 && 2 );//2
    console.log( 0 && 2 );//0
    console.log( 0 && "a" );//0

    function fn(){
        console.log("fn执行了");
    }

    false && fn();//不执行fn();
    true && fn();//执行fn();
    undefined && fn();//不执行fn();

    console.log( 0 || 1 );//1
    console.log( 2 || 1 );//2

    var res = "a" || "b";
    console.log( res );//"a"

    console.log( !"false" );//"false"
</script>

5.三目运算符

三目运算符: 判断条件 ? 语句 1 : 语句 2

    判断条件 成立 执行语句 1 
    不成立 执行语句 2

6.数组的存储

数组赋值的时候,传递的是数组的地址。

<script>
    var a = 1;
    var b = a; // 传值,把a的值给b
    a = 2;
    console.log( b );//得到的值是1.
//------------------------------------------
    var arr = ["a","b"];
    var res = arr;  // 传址,赋址
    arr[0] = 1;
    console.log( arr );//根据地址找数组,得到的是["1","b"]
    console.log( res );//根据地址找数组,得到的是["1","b"]
//------------------------------------------
    var arr1 = ["a","b"];
    var res1 = ["a","b"]; 
    arr1[0] = 1;
    //arr1数组的地址和res1数组的地址不相同,虽然内容相同。
    console.log( arr1 );//根据地址找数组,得到的是["1","b"]
    console.log( res1 );//根据地址找数组,得到的是[a","b"]
</script>

原文链接:https://segmentfault.com/a/1190000014891017

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-32379.html

文章标题:JS基础入门篇—运算符

相关文章
Vue.js组件tab实现选项卡切换
本文实例为大家分享了vue插件tab选项卡的具体代码,供大家参考,具体内容如下 效果图: 代码如下: &lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; ...
2017-03-13
JavaScript教程:JS中的原型
Keith Peters 几年前发表的一篇博文,关于学习没有“new”的世界,其中解释了使用原型继承代替构造函数。两者都是纯粹的原型编码。 标准方法(The Standard Way) 一直以来,我们学习的在 JavaScript 里创建对...
2015-11-12
NodeJS参考手册pdf版
下载地址:Nodejs参考手册PDF版下载 ...
2015-11-12
Riot.js:不足1KB的MVP客户端框架
Riot.js是一款MVP(模型-视图-呈现)开源客户端框架,其最大的特点就是体积非常小,不足1KB,虽然体积小,但它可以帮助用户构建大规模的Web应用程序。 Riot.js是由Moot公司开发,目前最新版本为v0.9.2,遵循MIT开源许...
2016-03-11
three.js实现围绕某物体旋转
话不多说,请看代码: 可以拖动右上角观察变化 &lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot; style=&quot;width: 100%; height:100%;&quot;&gt...
2017-02-17
Node.js学习(1)----HTTP服务器与客户端
Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP 服务器和一个简易的HTTP 客户端。http.Server 是一个基于事件的 HTTP 服务器,它的核心由 Node.js 下层 C++部分实现,而接口由 Jav...
2015-11-12
AngularJS vs. jQuery,看看谁更胜一筹
很多Web开发新手都会有这样的疑问“我应该使用什么开发框架呢,如何快速学会Web开发呢?”这个问题其实没有一个统一的正确答案,其中讨论最多的就是AngularJS和jQuery的差别。这两者的之间的比较很微妙,有时就像拿苹果和橘子在作比较,...
2015-11-12
如何为高负载网络优化Nginx 和 Node.js?
译者:AlfredCheung 在搭建高吞吐量web应用这个议题上,NginX和Node.js可谓是天生一对。他们都是基于事件驱动模型而设计,可以轻易突破Apache等传统web服务器的C10K瓶颈。预设的配置已经可以获得很高的并发,不过,...
2015-11-12
使用jspdf生成pdf报表
由于前台html已经动态生成报表,而且,前台有一个功能,一个date range组件,当你拖动的时候,报表会在不提交到后台的情况下动态变化。 因此需要用到js生成生报表: 用到的组件: jquery.js jspdf.js canvg.js...
2017-03-25
从 Node.js 分裂出 Io.js 事件看开源软件谁做主
Node.js 作为服务器编程语言的后起之秀,常用来构建和运行 Web 应用,近日却爆出其社区出现分裂。由于对官方运营商 Joyent 公司在 Node.js 管理上的长期不满,多位核心开发者另立门户,创建了分支 Io.js。从 GitHu...
2015-11-12
回到顶部