javascript一些非主流运算符用法总结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript一些非主流运算符用法总结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3619字,纯文字阅读大概需要6分钟。
内容图文
javascript支持很多其它各种各样的运算符。i.条件运算符(?:)
条件运算符是javascript中的唯一一个三元运算符。通常这个运算符写成"?:",这个运算符拥有三哥操作数,第一个操作数在"?"之前,第二个操作数在“?”和":"之间。第三个操作数早在":"之后,例如
x > 0 ? x : -x; //求x的绝对值
条件运算符的操作数可以是任意类型。第一个操作数当成布尔值,如果它是真值,那么将计算第二个操作数,并返回计算结果。赋值如果第一个值操作数是假值,那么将计算第三个操作数。并返回计算结果。第二个和第三个操作数总会计算其中之一。不可能两者同时进行。其实使用if语句也达到同样的效果(5.4.1),“?:”运算符只是提供了一种简写形式。这里是一个"?:"的典型使用场景,判断一个变量是否有定义,如果有定义则使用它,如果无定义,则使用一个默认值。
grett = "hello" + (username ? username : "three");
和以下的代码是等价的,但上面的更加简洁
grett = "hello"; if (username) grett += username; else grett + "three"
ii.typeof()运算符
typeof是一元运算符,放在单个操作数前面,操作数可以是任何类型,返回值表示操作类型的一个字符串。
x __ typeof x undefined __ "undefined" null __ "object" ture或false __"boolean" 任意数字或NaN __ "Number" 任意字符串 __ "String" 任意函数 __ "function" 任意内容对象(非函数)__ "object" 任意宿主对象 __ 由编译器各自实现的字符串,但不是"undefined" "boolean" "number" "string"
typeof最常用的用法写在表达式中们就像这样
(typeof value == "string") ? "" + value + "":value;
typeof运算符同样在swith语句中(5.4.3)非常有用,需要注意的是,typeof运算可以带上园括号。这样让typeof看起来像一个函数名,而非关键字
typeof(i)
iii.delete运算符
delete是一元操作符,它用来删除对象的属性或者数组的元素。就像赋值、递增、递减运算符一样。delete也是具有副作用的。它是用来做删除操作的。不是用来返回一个值的。
var o = { x: 1, y: 2 } delete o.x; "x" in o; //=>false var a = [1, 2, 3]; delete a[2]; // 删除数组中最后一个元素 2 in a; //=> false 元素2已经在数组中不存在了 a.length; //=>3,注意,数组长度并没有改变,尽管上一行删除了这个元素,但删除操作留下了一个洞。实际上并没有修改数组的长度,因此a的长度仍然为3
需要注意的是,删除属性或删除数组元素不仅仅设置了一个undefined值,当删除一个属性时,这个属性不复存在。读取一个不存在的值将会返回undefined.关于delete删除还有严格模式下的一些情况,需要学习的人自己试验,这里给一些例子。
var o = {x: 1,y: 2}; delete o.x; //删除一个对象属性,返回true typeof o.x; //属性不存在,返回"undefined" delete o.x; //删除不存在的属性,返回true; delete o; //不能删除通过var关键字声明的变量,返回false delete 1; //参数不是一个左值。 this.x = 1;// 给全局定义一个属性,这里没有使用var delete x ; //试图删除它,在非严格模式下返回true //在严格模式下回抛出异常,这时使用"delete this.x"来代替 x; //运行时出错,没有定义x
iii.void运算符。
void是一元运算符,在出现操作数之前,操作数可以是任何类型。这个运算符并不是经常使用:操作数会照常计算,但会忽略计算结果并返回undefined。由于void会忽略操作数的值,因此在操作数具有副作用时使用void来程序更有意义。
这个最常用的带客户端url.在url写带有副作用的表达式,而void则让浏览器不显示在这个表达式的运算结果。
<a href="javascript:void window.open();">new</a>
iiii.逗号运算符。(,)
逗号运算符是二元运算符,它的操作数可以是任意类型。它首先计算左操作数,然后计算右操作数。
i = 0, j = 1, k = 2;
它和下面的代码基本上等价的
i = 0; j = 1; k = 2;
总是会计算左侧的表达式,但计算结果忽略掉,也就是说,只有左侧表达式具有副作用,才会使用逗号运算让代码变得更通畅。逗号运算符最常用的场景是for循环中,这个for循环通常有多个循环变量。
//for循环中的第一个逗号是var语句的一部分 //第二个逗号是逗号运算符 //它将两个表达式(i++和j++)放在一条(for循环中)语句中 for (var i = 0, j = 10; i < j; i++, j--); console.log(i + j);
以上就是javascript一些非主流运算符用法总结的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的javascript一些非主流运算符用法总结全部内容,希望文章能够帮你解决javascript一些非主流运算符用法总结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。