1.什么是 --> ?

这两个分开是很简单的两个运算符,比如--,一般表示自减,var i = 5;while(i){console.log(i--);},会打印出5,4,3,2,1;

> ,为大于号,一般用于比较运算。

那么这两个结合起来呢?

在c中 -->表示的是趋向于,也就是说 --> 0 表示的是趋向于0.

#include <stdio.h>
int main()
{
int x = ;
while (x --> ) // x goes to 0
{
printf("%d ", x);
}
}

那么它在javascript中是否同样起效?

var n = 5;
while (n --> 0){
console.log(n);
}

在Chrome的控制台运行之后的效果是这样的

也就是说-->这个箭头函数(此箭头函数非彼箭头函数=>)同样适用于javascript,大家有没有觉得这个箭头函数很眼熟

<script language="javascript">
<!--
document.bgColor = "brown";
// red
// -->
</script>

箭头符号在 JavaScript 诞生时就已经存在,当初第一个 诞生时就已经存在 JavaScript 教程曾建议在HTML 注释内包裹行脚本,这样可以避免不支持 JS 的浏览器误将 JS 代码显示为文本。

那么除了 --> 这种形式还有别的表现形式吗?

var x = 5;
while( --x> 0 )
{
console.log(x);
}

我们惊奇的发现 --x>也可以表现出趋于的性质,那么--x>是什么意思?

这表示  递减x然后比较X和0 >操作符 

讲到这里大家基本都明白了吧,于是可以延伸出一系列的运算符

-->    x-->0
++> x++>0
-->= x-->=0
++>= x++>=0
--<    x--<0
++< x++<0
--<= x--<=0
++<= x++<=0

2.~~的作用

从字面上看~~就是转反再转反包括对布尔类型、undefined、null的操作如

另外一点把true转化为1的可以直接Number(true)

但是这不是最大的亮点,~~可用于取整,与 | 0功能相当

值得一提的是 它与 Math.floor的区别是,Math.floor是向下取整,而~~在正数的范围是向下取整,在负数的范围是向上取整的。

另外 !!将一个值方便快速转化为布尔值 !!window===true

这些特殊运算符在某种程度上大大的方便了我们的计算使用。

javascript 一些特殊的字符运算的更多相关文章

  1. javascript实现unicode与字符互相转换

    javascript实现unicode与字符互相转换. <script language="javascript">  //手机检测  function checkMo ...

  2. javascript基础(三)运算

    原文http://pij.robinqu.me/ 递增递减操作符(包括前置和后置).一元正负符号操作符 这些操作符适用于任何数据类型的值,针对不同类型的值,该操作符遵循以下规则(经过对比发现,其规则与 ...

  3. Javascript中的函数数学运算

    1.Math函数与属性使用语法 Math.方法名(参数1,参数2,...); Math.属性; 说明 Math函数可以没有参数,比如Math.random()函数,或有多个参数,比如Math.max( ...

  4. JavaScript判断字符串的字符长度(中文占两个字符)

    判断方法 //判断字符串中的字符 中文算两个字符 function chkstrlen(str) { ; ; i < str.length; i++) { ) //如果是汉字,则字符串长度加2 ...

  5. HDU 1015(字符运算 **)

    题意是在一段大写英文字符中找出 5 个字符通过代入公式运算得到目标值,如有多组字符满足题意,则输出字典序最大的一组,否则输出 no solution. 应该是用深搜做的,但是直接暴力也过了……(应该没 ...

  6. javascript字符串 转 驼峰字符

    字符串  转  驼峰字符 <script type="text/javascript"> var str = 'peng-hui-datou'; function a( ...

  7. Sass字符运算

    在 Sass 中可以通过加法符号“+”来对字符串进行连接.例如: $content: "Hello" + "" + "Sass!"; .bo ...

  8. JavaScript Replace 多个字符

    <html> <head> <title></title> <script language="javascript"> ...

  9. [matlab] 5.字符运算与微积分

    首先介绍一下matlab里的符号计算 符号变量可以看成是数学中含参数 的表达式中的参数 matlab能进行像(a+b)(a-b)=a^2-b^2这样的计算 要进行符号计算首先要定义符号变量 定义符号对 ...

随机推荐

  1. html button 点击链接

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Thinkphp5+PHPExcel实现批量上传表格数据功能

    http://www.jb51.net/article/129262.htm 1.首先要下载PHPExcel放到vendor文件夹下,我的路径是:项目/vendor/PHPExcel/,把下载的PHP ...

  3. C#编写街道管理系统

    项目需求: 一.语言和环境 A.实现语言 C# B.环境要求 Visual Studio 2012 二.功能要求 现使用.NET WinForms技术为居委会开发一个街道管理软件,其中街道管理窗体界面 ...

  4. HEXO+Github,搭建属于自己的博客

    摘录自:http://www.jianshu.com/p/465830080ea9 1. github的准备 账号 密码 建立Repository建立与你用户名对应的仓库,仓库名必须为[your_us ...

  5. Django之modelform组件

    一.简介与基本使用 简介:django中的modelform组件同时具有model和form作用,但是耦合度比较高,当项目需要拆分时候就比较困难了,所以在使用modelform时候需要先考虑项目的扩展 ...

  6. vue初学者

    先分享一波福利 vue学习视频    链接:https://pan.baidu.com/s/1ggSfE75 密码:7h2a        1.先安装 webpack vue-cli          ...

  7. junit测试延伸--方法的重复测试

    在实际编码测试中,我们有的时候需要对一个方法进行多次测试,那么怎么办呢?这个问题和测试套件解决的方案一样,我们总不能不停的去右键run as,那怎么办呢?还好伟大的junit帮我们想到了. OK,现在 ...

  8. Oracle 视图 (待更新, 缓存)

    参考: 视图.索引.存储过程优缺点: http://www.cnblogs.com/SanMaoSpace/p/3147059.html oracle视图总结(转):http://tianwei013 ...

  9. nginx把POST转GET请求解决405问题

    405重定向,然后把POST转GET upstream local { server 10.0.1.11:81; } server { listen 81; server_name testf.xxx ...

  10. 关系类型字段 -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...