操作符(Operator)

void

如果void后是数字,就返回NAN,否则返回Undefined。

alert(void "hello");//跟的字符 print undefined
alert(void (1 + 1)); //跟的左括号 print undefined
alert(void 1 + 1); //跟的数字 print NAN

obj instanceof contructor

function factory() { }
var obj = new factory();
alert(obj instanceof factory); //print true obj引用factory创建

var aa = { name:"sam" };
alert(aa instanceof Object); //引用Object构造函数创建自身

property in obj

var obj = { name: "sam" }; //js中,不管是json对象还是靠new操作符创建的对象,其属性成员、函数成员总是可以通过属性的字符表示来获取,注意属性和值用:分隔而非=
alert('name' in obj); //name属性在obj的原型链中

delete obj.property

删除对象的属性或数组的元素

var obj = { name:"sam" };
delete obj.name;
alert('name' in obj); //print false var bb = ["a", "b", "c"];
delete bb[0];
alert(bb[0]); //print undefined,被删元素会以undefined占位 alert("1" in bb);//还是true,原因不明
alert("42" in bb); //false

new x

x是构造函数,只用于调用构造函数创建对象,匿名对象不能使用new操作符。

!x

取非,

1.如果x是布尔值,则取x相反的布尔值

2.如果x是一个测试"是否"的函数,如果该函数的逻辑是:是否不是,则取非后描述为:是否是。如果函数的逻辑是:是否是,则描述为是否不是。

var aa = false; 
alert(!aa);//取false的反数,print true

a=x?y:z

三元运算符,执行条件测试,简化if……else语句,如果x表达式为真,y赋给a,否则z赋给a。a是变量,x是表达式。

var aa = 1 + 1 == 12 ? 12 : "NAN";
alert(aa); //print NAN

1 + 1 == 12 ? alert("12") : alert("NAN"); //与C#不同之处在于,js中三元运算操作符可以不用把结果输出给变量

var x = 10;
var y = x == 1 ? x + 1 : x == 2 ? x + 2 : x + 0;
//等同于
if (x == 1) y = x + 1;
else if (x == 2) y = x + 2;
else y = x + 0;

typeof x

返回x的类型。可能返回的值:number、string、boolean、object、function、undefined(此时,NAN也会被当做undefined)

var b = false;
function factory() { }
typeof b == "boolean" ? alert("true") : '';
typeof factory == "function" ? alert("true") : '';

.

获取属性

var Obj = { 'x': 10, y: 20, } //也可以使用引号将属性括起来
alert(Obj.x);
alert(Obj.y);

y['x']或y[index]

获取对象的属性或数组的元素

var Obj = { 'x': 10, y: 20, } //也可以使用引号将属性括起来
alert(Obj["x"]);    
alert(Obj["y"]);

var Obj = { 'x': 10, 'y': 20, }
for (var item in Obj) {
    alert(item);//print 这样只能得到每个属性名的字符表示
    alert(Obj[item]);//print 这样可以得到每个属性的值
}

Javascript - 学习总目录

Javascript - 操作符的更多相关文章

  1. javascript——操作符(~、&、|、^、<<、>>)

    直接上代码吧! <script type="text/javascript"> //javascript操作符 //1.按位非~ var num1=25;// var ...

  2. javascript 操作符类型隐性转换

    javascript 操作符类型隐性转换 (一).一元操作符只能操作一个值的操作符叫做一元操作符1.递增和递减操作符a. 在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作 ...

  3. JavaScript操作符(一元操作符)

    JavaScript操作符包括算术操作符.位操作符.关系操作符和相等操作符.只能操作一个值的操作符叫做一元操作符. 递增和递减操作符 递增和递减操作符有两个版本:前置型和后置型.前置型操作符位于要操作 ...

  4. JavaScript操作符汇总

    操作符 JavaScript 有赋值.比较.算术.位.逻辑.字符串和特殊运算符.本章描述了操作符,以及关于操作符优先级的一些信息. 表 2.1 JavaScript 所有操作符简明列表. 表 2.1 ...

  5. JavaScript操作符-3---算数,逻辑,赋值,比较,三元

    JavaScript操作符 学习目标 1.掌握什么是表达式 2.掌握javascript操作符的分类 3.掌握算数操作符 什么是表达式 将类型的数据(如常量.变量.函数等),用运算符号按一定的规则链接 ...

  6. JavaScript操作符(=?,)优先级

    JavaScript操作符优先级: 关于最后3个运算符的优先级比较,下面通过一个实例来具体说明: var a,b,c; a = 3,4,5; b = a--,--a,a; c = a ? b++ : ...

  7. JavaScript 操作符 变量

    一.操作符: 一元操作符 递增操作符 递减操作符 分为 前置型(--a    ++a) 和 后置型 (a--    a++) 区别如下: var a = 3,b=6; c = --a +b; //c= ...

  8. JavaScript操作符(布尔操作符、乘性操作符和加性操作符)

    布尔操作符 布尔操作符用来测试两个值的关系,布尔操作符有三个,逻辑非(!).逻辑与(&&),逻辑或(||). 逻辑非由一个叹号(!)组成,可以应用于JavaScript任何值.逻辑非首 ...

  9. javascript 操作符小结

    简单总结一下JavaScript的几个操作符: var. in. delete. typeof. new. instanceof.void var 定义变量要使用var操作符, 使用var操作符定义的 ...

随机推荐

  1. Final版本互评——杨老师粉丝群《PinBall》

    基于NABCD评论作品,及改进建议 1.根据(不限于)NABCD评论作品的选题 (1)N(Need,需求) 随着民族自信的觉醒,民主文化越来越受到重视,语文在高考中的比重也不断增加,在这种大环境下,成 ...

  2. Redis学习笔记之Redis的对象

    类型与编码: typedef struct redisObject {                unsigned type:4://类型               unsigned encod ...

  3. LINUX内核分析第五周学习总结——扒开应用系统的三层皮(下)

    LINUX内核分析第五周学习总结——扒开应用系统的三层皮(下) 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/cou ...

  4. 《Linux内核设计与实现》学习记录一

    chapter1 Linux内核简介 前言:Unix是一个具有相似应用程序编程接口(API)并且基于相似设计理念的操作系统家族. 1.1 Unix的历史 1.Unix演化版实现了任务管理.换页机制.T ...

  5. ElasticSearch 2 (17) - 深入搜索系列之部分匹配

    ElasticSearch 2 (17) - 深入搜索系列之部分匹配 摘要 到目前为止,我们介绍的所有查询都是基于完整术语的,为了匹配,最小的单元为单个术语,我们只能查找反向索引中存在的术语. 但是, ...

  6. Linux命令(十五) 打包或解压文件 tar

    目录 1.命令简介 2.常用参数介绍 3.实例 4.直达底部 命令简介 tar 命令用于将文件打包或解压,扩展名一般为 ".tar" ,指定特定的参数可以调用 gzip 或 bzi ...

  7. php常用几种设计模式的应用场景

    1.单例设计模式 所谓单例模式,即在应用程序中最多只有该类的一个实例存在,一旦创建,就会一直存在于内存中! 单例设计模式常应用于数据库类设计,采用单例模式,只连接一次数据库,防止打开多个数据库连接. ...

  8. (转)JDK1.8新特性Lambda表达式

    https://www.cnblogs.com/franson-2016/p/5593080.html Predicate predicate接收一个变量,并返回一个boolean值,predicat ...

  9. pgm2

    MRF 笔记 我们先讨论引入 MRF 的必要性.经典的例子就是四个 r.v.s 连成一个正方形的结构的时候,我们没法通过 BN 获得给定对角线两个 r.v.s 而剩下的条件独立(不都是 d-sep), ...

  10. BZOJ2729 HNOI2012排队(组合数学+高精度)

    组合入门题.高精度入门题. #include<iostream> #include<cstdio> #include<cstdlib> #include<cs ...