操作符(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. 第二个Sprint冲刺总结

    第二个Sprint冲刺总结 ( 1)团队Github: https://github.com/ouqifeng/EasyGoOperation.git ( 2 ) 团队贡献分: 廖焯燊:22 何武鹏: ...

  2. Daily Scrum - 12/03

    Meeting Minutes   后端基本完成,结束当前Sprint, 开始下一个Sprint.进一步讨论了UI,并完成了任务分配.   Burndown     Progress   part 组 ...

  3. 04-java学习-选择结构

    if if else 多重if switch

  4. jieba分词学习

    具体项目在githut里面: 应用jieba库分词 1)利用jieba分词来统计词频: 对应文本为我们队伍的介绍:jianjie.txt: 项目名称:碎片 项目描述:制作一个网站,拾起日常碎片,记录生 ...

  5. WBS功能分解及甘特图

    产品 一级子功能 二级子功能 三级子功能 时间(小时)  食物链教学工具 属性面板 功能按键 选择环境 1       自定义生物 2       生物连线与删除 5       显示食物链 1   ...

  6. 2 引入jquery和boot

    vue引入bootstrap——webpack https://blog.csdn.net/wild46cat/article/details/77662555(copy) 想要在vue中引入boot ...

  7. 【刷题】BZOJ 1093 [ZJOI2007]最大半连通子图

    Description 一个有向图G=(V,E)称为半连通的(Semi-Connected),如果满足:?u,v∈V,满足u→v或v→u,即对于图中任意 两点u,v,存在一条u到v的有向路径或者从v到 ...

  8. 【题解】 bzoj3105: [cqoi2013]新Nim游戏 (线性基+贪心)

    bzoj3105,懒得复制 Solution: 首先你要有一个前置技能:如果每堆石子异或和为\(0\),则先手比输 这题我们怎么做呢,因为我们没人要先取掉几堆,为了赢对方一定会使剩下的异或和为\(0\ ...

  9. 通用权限管理系统底层更换最新Oracle驱动的方法

    通用权限管理系统底层先前访问Oracle数据库时需要客户端安装驱动软件,如下图: 安装完毕还需要一番配置,系统再引用其dll, 现在我们使用了最新的dll 该dll是Oracle出的最新的版本. 通用 ...

  10. LeetCode 6罗马数字转整数

    罗马数字包含以下七种字符:I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列 ...