JavaScript中双符号的运算详解
一、双波浪号
var i = 5.1; var j = 5.5; console.log(~~i); // 5 console.log(~~j); // 5
作用类似Math.floor
。
类似的意思是在处理正数的时候,如果处理负数就它俩就不同了:
~~-5.1 // 5 Math.floor(-5.1) // -6 ~~-5.5 // 5 Math.floor(-5.5) // -6
注:
Math.ceil(x) Returns the smallest integer greater than or equal to a number. Math.floor(x) Returns the largest integer less than or equal to a number. ~~ 是向0计算,取值向0靠拢
二、双感叹号
var a = 1; var b = null; var c = ''; var d = 'code'; console.log(!!a); // true console.log(!!b); // false console.log(!!c); // false console.log(!!d); // true
作用类似Boolean,把值转换为boolean值。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
JavaScript中两个感叹号的作用说明
先用一个简单的例子说明: 复制代码 代码如下: var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false; alert(test); 由于对null与undefined用!操作符时都会产生true的结果,所以用两个感叹号的作用就在于,如果明确设置了o中flag的值(非null/undefined/0""/等值),自然test就会取跟o.flag一样的值:如果没有设置,test就会默认为false,而不是null或u
-
javascript中2个感叹号的用法实例详解
在javascript代码中经常会见到!!的情况,本文即以实例形式较为深入的分析javascript中2个感叹号的用法.分享给大家供大家参考之用.具体分析如下: javascript中的!!是逻辑"非非",即是在逻辑"非"的基础上再"非"一次.通过!或!!可以将很多类型转换成bool类型,再做其它判断. 一.应用场景:判断一个对象是否存在 假设有这样一个json对象: { color: "#E3E3E3", "fon
-
探讨js中的双感叹号判断
今天看qunit源代码,发现一段很奇怪的代码,虽然能领会他的意思,但是不明白双感叹号起到的作用. 复制代码 代码如下: function id( name ) { return !!( typeof document !== "undefined" && document && document.getElementById ) && document.getElementById( name );} 然后去网上查了些
-
JavaScript中双符号的运算详解
一.双波浪号 var i = 5.1; var j = 5.5; console.log(~~i); // 5 console.log(~~j); // 5 作用类似Math.floor. 类似的意思是在处理正数的时候,如果处理负数就它俩就不同了: ~~-5.1 // 5 Math.floor(-5.1) // -6 ~~-5.5 // 5 Math.floor(-5.5) // -6 注: Math.ceil(x) Returns the smallest integer greater th
-
JavaScript中push(),join() 函数 实例详解
定义和用法 push方法 可向数组的末尾添加一个或多个元素,并返回一个新的长度. join方法 用于把数组中所有元素添加到一个指定的字符串,元素是通过指定的分隔符进行分割的. 语法 arrayObject.push(newelement1,newelement2,....,newelementX) arrayObject.join(separator). 参数描述newelement1必需.要添加到数组的第一个元素.newelement2可选.要添加到数组的第二个元素.newelementX可选
-
JavaScript中浅讲ajax图文详解
1.ajax入门案例 1.1 搭建Web环境 ajax对于各位来说,应该都不陌生,正因为ajax的产生,导致前台页面和服务器之间的数据传输变得非常容易,同时还可以实现页面的局部刷新.通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 对于JavaWeb项目而言,ajax主要用于浏览器和服务器之间数据的传输. 如果是单单地堆砌知识点,会显得比较无聊,那么根据惯例,我先不继续介绍ajax,而是来写一个案例吧. 打开
-
JavaScript 中调用 Kotlin 方法实例详解
JavaScript 中调用 Kotlin 方法实例详解 Kotlin 编译器生成正常的 JavaScript 类,可以在 JavaScript 代码中自由地使用的函数和属性 .不过,你应该记住一些微妙的事情. 用独立的 JavaScript 隔离声明 为了防止损坏全局对象,Kotlin 创建一个包含当前模块中所有 Kotlin 声明的对象 .所以如果你把模块命名为 myModule,那么所有的声明都可以通过 myModule 对象在 JavaScript 中可用.例如: fun foo() =
-
JavaScript中的splice方法用法详解
JavaScript中的splice主要用来对js中的数组进行操作,包括删除,添加,替换等. 注意:这种方法会改变原始数组!. 1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 2.插入-向数组指定位置插入任意项元素.三个参数,第一个参数(插入位置),第二个参数(0),第三个参数(插入的项) 3.替换-向数组指定位置插入任意项元素,同时删除任意数量的项,三个参数.第一个参数(起始位置),第二个参数(删除的项数),第三个参数(插入任意数量的项) 示例:
-
Mybatis或Mybatis-Plus框架的xml文件中特殊符号的使用详解
在Mybatis的xml文件中,很多特殊符号是无法直接使用的,需要使用实体引用,假如在 XML 文档中放置了一个类似 "<" 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始. 原符号.实体引用.CDATA对照表 号.实体引用.CDATA对照表 原符号 实体引用 CDATA 说明 < < <![CDATA[ < ]]> 小于 <= <= <![CDATA[ <= ]]> 小于等于 > >
-
JavaScript中window和document用法详解
一.验证表单 封装一个函数用于验证手机号 /** * @param {String}eleId * @param {Object}reg */ function checkInput(eleId,reg) { var ele = document.getElementById(eleId); ele.onblur = function (ev) { if(!reg.test(this.value)){ //不匹配 this.style.borderColor = "#ff0000" /
-
JavaScript 中this指向问题案例详解
总结 全局环境 ➡️ window 普通函数 ➡️ window 或 undefined 构造函数 ➡️ 构造出来的实例 箭头函数 ➡️ 定义时外层作用域中的 this 对象的方法 ➡️ 该对象 call().apply().bind() ➡️ 第一个参数 全局环境 无论是否在严格模式下,this 均指向 window 对象. console.log(this === window) // true // 严格模式 'use strict' console.log(this === window
-
C++中双冒号::用法案例详解
C++中的双冒号 :: 第一种,类作用域,用来标明类的变量.函数 Human::setName(char* name); 第二种,命名空间作用域,用来注明所使用的类.函数属于哪一个命名空间的 std::cout << "Hello World" << std::endl; 第三种,全局作用域,用来区分局部.全局的.最容易被忽视的一种,很多时候写了一个全局函数或者想要调用一个全局函数,却发现IDE或者Editor找不到该函数,原因是因为局部函数与想要调用的全局函数
-
JavaScript中Array的filter函数详解
目录 描述 理解 示例 原生实现 描述 filter为数组中的每个元素调用一次callback函数,并利用所有使得callback返回 true 或等价于 true 的值的元素创建一个新数组.callback只会在已经赋值的索引上被调用,对于那些已经被删除或者从未被赋值的索引不会被调用.那些没有通过callback 测试的元素会被跳过,不会被包含在新数组中. 理解 filter不会改变原数组,它返回过滤后的新数组. filter遍历的元素范围在第一次调用callback之前就已经确定了.在调用f
随机推荐
- Javascript 继承机制的实现
- 服务器安装什么系统好 服务器系统详细介绍与选择推荐
- Java编程使用Runtime和Process类运行外部程序的方法
- Android 三种延迟操作的实现方法
- 详解JAVA中的for-each循环与迭代
- Maven下载和配置环境教程
- oracle数据库删除数据Delete语句和Truncate语句的使用比较
- asp.net页面SqlCacheDependency缓存实例
- 使用InstantClick.js让页面提前加载200ms
- ASP.NET MVC从视图传参到控制器的几种形式
- Ubuntu12下编译安装PHP5.3开发环境
- C#自定义事件模拟风吹草摇摆效果
- 那些年,我还在学习Ajax 学习笔记
- Struts和servlet不能共存问题解决方法
- 教你安装磁盘阵列:组建RAID需要几块硬盘
- jQuery动态背景图片效果实现方法
- 给所有ActionScript初学者的一点建议 经典
- Java双括弧初始化操作技巧
- C#中fixed关键字的作用总结
- 主流交换机的镜像配置方法