zoukankan      html  css  js  c++  java
  • 基础表达式和运算符

    表达式是指能计算出值得任何可用程序单元。——Wiki**

    表达式是一种JS短语,可使JS解释器用来产生一个值。——《JS权威指南》

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    图片.png

    JavaScript 运算符

    图片.png

    三元运算符

    c ? a : b
    var val = true ? 1 : 2; // val = 1
    //val值为true就会返回冒号前面的值,如果是false就会取冒号右边的值。
    

    逗号运算符

    a, b
    var val = (1, 2, 3); // val = 3
    //非常少见的,它会从左到右依次去计算表达式的值,最后会取最右边的值。
    

    delete 运算符

    delete obj.x;
    var obj = {x : 1};
    obj.x;                      // 1
    delete obj.x;
    obj.x;                      // undefined
    //delete 运算符就是删除对象上的属性,变量obj,obj.x被删除了。
    

    并不是对象上的所有属性都可以成功的被delete 掉的。

    var obj = {};
    Object.defineProperty(obj, 'x', {
      configurable : false, 
      value : 1
    });
    delete obj.x; // false
    obj.x;            // 1
    

    只有configurable : true, 为true,才可以被删除。

    in运算符

    window.x = 1;  //创建全局变量x为1
    x’ in window; // true   判断是否win下有x
    

    **instanceof, typeof运算符 **

    {} instanceof Object                // true  判断对象类型,基于原型链去判断的
    typeof 100 === ‘number’ // true  返回字符串,常用语原始类型,或者函数对象。

    new运算符

    function Foo(){}     //创建函数构造器,或者说创建空函数
    Foo.prototype.x = 1;     //prototype属性x
    var obj = new Foo();   //创建一个新的对象obj
    obj.x;  // 1   现在就能在prototype属性x拿到1
    obj.hasOwnProperty('x'); // false     来判断这个属性到底是这个对象上的还是这个对象原型链上,这个x当然不是属于直接对象上的属性,
    obj.__proto__.hasOwnProperty('x'); // true    拿到对象原型。可以发现x是对象原型上的属性,而不是这个对象本身上的属性。
    

    this运算符

    this;  // window (浏览器)  在全局下this会指向win
    var obj = {
      func : function(){return this;}
    }; 
    obj.func(); // obj
    //如果在对象值如果是个函数的话那么在这样的函数里,this会指向对象本身。
    

    void运算符

    void运算符是一元运算符,

    void 0  // undefined
    void(0) // undefined
    //不管值是多少都会返回undefined
    

    图片.png

    图片.png

    http://www.huanghanlian.com/javascript/2016/12/20/javascript_jinjie2.html

  • 相关阅读:
    mongodb06---索引
    mongodb05---游标
    mongo04---基本查询
    mysql06---权限控制
    mysql05---游标
    使用 inotifywait的方式监控文件夹发生变化后自动执行脚本的方法
    ubuntu18.04 安装wine以及添加mono和gecko打开简单.net应用的方法
    Android之Socket群组聊天
    史上最完整的Android开发工具集合
    Android SurfaceView使用详解
  • 原文地址:https://www.cnblogs.com/Longhua-0/p/9282646.html
Copyright © 2011-2022 走看看