• js的in运算符与instanceof运算符


    in运算符:希望他的左操作数是一个字符串或可以转换为字符串,希望他的右操作数是一个对象。如果右操作数的对象拥有一个名为左操作数值的属性名,那么表达式返回true.

    var point= {x:1,y:3};      //  定义一个对象
    "x" in point;      //   返回为true;对象有一个名为x的属性
    "z" in point;      //   返回为false;对象没有名为z的属性
    "toString" in point  //   返回true,对象继承了toString方法
    
    
    var arr = [1,2,3];    //   拥有三个元素的数组
    "0" in arr;     //   true:数组包含元素0
    1 in arr;      //   true:数字转换为字符串
    3  in arr;    //   false:没有索引为3的元素

    instanceof运算符:希望他的左操作数是一个对象,右操作数是标识对象的类,如果左侧的对象是右侧类的实例,侧返回true,不是返回false。

    var da = new Data()     //   初始化一个对象
    da instanceof Data;      //  true:da是Data类创建的
    daa  instanceof  Number;    //   false:daa不是Data类创建的
    da  instanceof  Object;    //   true:因为所有的类都是继承自Object

     delete是一元操作符,他用来删除对象属性或数组元素。

     var obs = {x:"nimei",y:"hah"};
             delete  obs.x;        //  删除属性
             alert("x" in obs);     // flase:属性不存在了

             var arr = [1,"ni",2];
             delete arr[1];     //   删除编号为1的元素
             alert(1 in arr);     //   编号为1的元素不存在
             alert(arr.length);     //  3:执行delete删除数组的长度不变

     并不是所有的属性都可删除,一些内置核心和客户端属性是不能删除的,用户通过var 定义的变量是不能够被删除的,通过function定义的函数和函数的参数是不能够删除的。

  • 相关阅读:
    django 查询
    django orm
    django 基础
    RFS自动化测试工具安装与使用总结
    虚拟机安装(Cent OS)
    RobotFramework 切换窗口控制的用法小结
    Selenium2Library中select frame关键字对没有name和id的frame或者iframe的处理
    robotframework+selenium2library之上传本地文件
    element not visible的解决方法
    robotframework悬浮菜单定位问题
  • 原文地址:https://www.cnblogs.com/duhuo/p/4419585.html
Copyright © 2020-2023  润新知