javascript特殊运算符(in,instanceof,typeof,delete,void,逗号)
in运算符
in运算符要求其左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数十一个对象或数组。如果该 运算符左边的值是右边对象的一个属性名,则返回true,否则返回为false。
eg:
instanceof运算符
instanceof运算符要求其左边的运算数是一个对象,右边的运算数是对象类的名字,如果该运算符左边的对象是
右边类的一个实例,则返回true,否则返回false。
eg:
typeof运算符
typeof是一个一元运算符,放在一个运算数之前,这个运算数可以是任意类型的。它的返回值是一个字符串,该字符串说明了运算数的类型通常typeof返回的类型如下:number,string,boolean,object,function,undefined
typeof可以将运算数括起来,类似一个函数的用法
eg:
PS:typeof的局限性在于对于Array,null等特殊的对象使用typeof返回的都是object,而不能详细的去区分,这时候就要用到instanceof了,但是前提必须能够使用instanceof运算符
delete运算符
delete运算符是一个一元运算符,它将删除运算数所指定的对象的属性,数组元素或者变量。如果删除成功,将返回true,如果运算数不能被删除,将返回false。并且并非所有的属性和变量都是可以删除的,某些内部的核心属性和客户端属性不能删除,并且用var语句申明的用户定义变量也不能被删除。如果delete使用的的运算数是一个不存在的属性,它也将返回为true(令人吃惊的是,ECMAScript标准规定,当delete运算的运算数不是属性、数组或变量的时候,它也会返回true)
eg:
void运算符
void是一个一元运算符,它可以出现在任何类型操作数之前。这个运算符的用途比较特殊,它总是舍弃运算数的
值,然后返回undefined。这种运算符常用在客户端的javascript:URL中,在这里可以计算表达式的值,而浏览器不会显示出这个值。void的另外一个用处是专门生成undefined值
eg:
逗号运算符
逗号运算符非常简单,它先计算左边的参数,在计算其右边的参数,然后返回右边参数的值。
eg:
两种写法是等价的
javascript特殊运算符(in,instanceof,typeof,delete,void,逗号)的更多相关文章
- 比较运算符in/instanceof/typeof 逻辑表达式||/&&
1.比较运算符in in运算符希望它的左侧操作数是一个字符串或可以转换为字符串,希望它的右操作数是一个对象, 如果右侧的对象拥有一个名为左侧操作数值的属性名,那么表达式返回true, eg:var a ...
- js之运算符其它运算符(三元运算符,逗号运算符,void运算符,typeof,delete运算符)
Javascript支持很多其它的运算符,具体如下: 一.条件运算符(?:) 条件运算符是Javascript中唯一的三个操作数的三元运算符,有时会直接称做是“三元运算符”. 基本格式:conditi ...
- javaScript常用运算符和操作符总结
javaScript常用运算符和操作符总结 类别 操作符 算术操作符 +. –. *. /. %(取模) 字符串操作符 + 字符串连接 +=字符串连接复合 布尔操作符 !. &&. ...
- javascript(六)运算符
运算符概述 JavaScript中的运算符用于算术表达式. 比较表达式. 逻辑表达式. 赋值表达式等.需要注意的是, 大多数运算符都是由标点符号表示的, 比如 "+" 和" ...
- javascript算术运算符详解
算术运算符 +.-.*./.%.++.-- ++.--分为前缀形式和后缀形式 前缀形式先加减1在执行 后缀形式先执行再加减1 注意 +号用来连接两个字符串 只要+连接的操作数中有一个是字符串型,JS就 ...
- 关系运算符:instanceof
关系运算符:instanceof a instanceof Animal;(这个式子的结果是一个布尔表达式) a为对象变量,Animal是类名. 上面语句是判定a是否可以贴Animal标签.如果可以贴 ...
- JavaScript之this,new,delete,call,apply(转)
JavaScript之this,new,delete,call,apply 1.this 一般而言,在Javascript中,this指向函数执行时的当前对象. 2.new 在JavaScript中, ...
- 【ThinkingInC++】65、使用delete void*可能会出错
/** * 书本:[ThinkingInC++] * 功能:使用delete void*可能会出错 * 时间:2014年10月5日14:31:43 * 作者:cutter_point */ #incl ...
- 微信SDK导入报错 Undefined symbols for architecture i386:"operator delete[](void*)", referenced from:
异常信息: Undefined symbols for architecture i386: "operator delete[](void*)", referenced fro ...
随机推荐
- 通过redis-rdb-tools分析redis内存使用量
背景:生产上一台redis服务器,物理内存32G,几个项目都在用,经常不足一月内存就会耗尽,然后开始使用swap,当swap也用尽的时候,系统就宕机.redis配置也优化过几次,但未见成效.因此决定看 ...
- gif动画问题
iOS没有自带支持显示gif动画的功能, 用UIImageView的animationImage虽然可以实现图片动画, 当毕竟不方便. http://blog.stijnspijker.nl/200 ...
- 图论(网络流):SCOI 2007 修车
同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均等待的时间最小 ...
- server 2008 ftp 环境重点说明
最近 在弄ftp 环境,但是 到server 2008 r2 这个系统之后,按照之前的方法 不行了 具体情况如下 利用本机 资源管理器 访问不了,根本不出现 登录框 提示 然后 到ftp 站点 ...
- 简单的FIRST集演示程序
/* * 该程序用于计算某个非终结符的 FIRST 集合 * RexfieldVon * 2013年6月29日19:53:45 * 2013年7月3日22:01:57 修改 GetFIRST 例程以简 ...
- linux 编译安装apache
1.下载apache.安装apache #wget http://apache.etoak.com//httpd/httpd-2.4.4.tar.gz #tar zxvf httpd-2.4..4.t ...
- springboot 配置文件 .properties和.yml的写法区别
例如 : redis配置的properties或yml文件,如下: spring.redis.cluster.nodes[]= spring.redis.cluster.nodes[]= 或 s ...
- Spring MVC返回对象JSON
@RestController 用于返回对象,会自动格式化为JSON @RequestMapping("/user2") public User2 user2(Mo ...
- bzoj2631: tree lct
要打mul和add的lct 50000+的mod用unsigned int好了TAT (坑爹没打pc('\n');(静态)调了好久,样例竟然只输出一个,orz,也不提示PE T_T) #include ...
- Nginx+keepalived做双机热备加tomcat负载均衡
Nginx+keepalived做双机热备加tomcat负载均衡 环境说明: nginx1:192.168.2.47 nginx2:192.168.2.48 tomcat1:192.168.2.49 ...