JS中变量后面有个问号是什么意思?

return n?n*arguments.callee(n-1):1;
JS中变量后面有个问号是什么意思?然后 后面一个:1又是什么意思?
 
 
问号与冒号要连在一起看。它们是完整的运算符。
如A=(B)?C:D
表示B不为0吗(或B为真吗)?如果是,A=C;如果不是,A=D。
对于你的例子,表示当n不为0时,返回n*arguments.callee(n-1);否则,返回1。

js日常的更多相关文章

  1. js日常积累

    1.数组转字符串 str.join(',') 2.字符串转数组 arr.split(',') 3.数组排序 function sorb(a,b){return a-b;}; arr.sort(sorb ...

  2. Js日常笔记之变量删除

    在Javascript是可以使用delete来手动删除变量,通过这样的方法让GC来回收内存,但在JS中并不是所有的对象都可以被删除的 JS中通过 var\function 声明因含有DontDelet ...

  3. js日常笔记

    写在前面: 在工作中,有时候会遇到一些零零碎碎的小知识点,虽然这些网上都可以查询到,但还是想把一些自己不是很熟悉的当做笔记记录下来,方便以后查询. 1.按钮隐藏/显示/可用/不可用 $("# ...

  4. js日常总结

    1.html如何引入css和js文件 css:<link rel="stylesheet" href="css/index1.css(这是我的文件的地址)" ...

  5. JS 日常

    判断一个字符串是否在另一个字符串里面 var str = 'bblText'; if(str.indexOf("Text") > 0)  alert("包含了Tex ...

  6. js 日常问题记录

    1.解决ie6下css背景图不缓存 try{ document.execCommand('BackgroundImageCache',false,true); }catch(e){} 2.为ajax设 ...

  7. Js日常笔记之数组

    1.Array构造函数有一个很大的问题,就是不同的参数,会导致它的行为不一致,es6好像专门为此对数组有升级 因此,不建议使用new Array生成新数组,直接使用数组字面量[...]是更好的做法. ...

  8. Js日常笔记之this

    在javascript中自己创建构造函数时可以利用this来指向新创建的对象上.这样就可以避免函数中的this指向全局了,如下 var x = 2; function test(){ this.x = ...

  9. js 日常正则

    手机号 /^1((3[\d])|(4[5,6,9])|(5[0-3,5-9])|(6[5-7])|(7[0-8])|(8[1-3,5-8])|(9[1,8,9]))\d{8}$/ 大写字母 /^[A- ...

随机推荐

  1. Python序列化之Json基础

    python的序列化就是将python的基本对象转换为字符串的过程,反之则是反序列化. 序列化类型: -> import json import pickle 序列化定义: 序列化:对象.列表. ...

  2. 【iCore4 双核心板_FPGA】例程十五:基于单口RAM的ARM+FPGA数据存取实验

    实验现象: 写RAM命令格式:write:地址(0-255),数据(0-65535)\cr\lf 读RAM命令格式:read:地址(0-255)\cr\lf 核心代码: int main(void) ...

  3. rabbitmq启动异常table_attributes_mismatch

    rabbitmq启动异常table_attributes_mismatch 2017年01月09日 16:57:50 growithus 阅读数:18     [root@localhost rabb ...

  4. Java知多少(63)线程间通信

    上述例题无条件的阻塞了其他线程异步访问某个方法.Java对象中隐式管程的应用是很强大的,但是你可以通过进程间通信达到更微妙的境界.这在Java中是尤为简单的. 像前面所讨论过的,多线程通过把任务分成离 ...

  5. Scala学习笔记——函数和闭包

    1.本地函数 可以在一个方法内再次定义一个方法,这个方法就是外部方法的内部私有方法,省略了private关键字 2.头等函数 var increase = (x: Int) => x + 1 S ...

  6. 小程序返回顶部top滚动

    wxjs const app = getApp(); Page({ data:{ // top标签显示(默认不显示) backTopValue:false }, // 监听滚动条坐标 onPageSc ...

  7. Python 函数(参数组合)

    在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数 定义一 ...

  8. 【代码审计】OTCMS_PHP_V2.83_代码执行漏洞分析

      0x00 环境准备 OTCMS官网:http://otcms.com 网站源码版本:网钛CMS PHP版 V2.83 [更新于2017.12.31] 程序源码下载:http://d.otcms.c ...

  9. 【代码审计】QYKCMS_v4.3.2 前台存储型XSS跨站脚本漏洞分析

      0x00 环境准备 QYKCMS官网:http://www.qykcms.com/ 网站源码版本:QYKCMS_v4.3.2(企业站主题) 程序源码下载:http://bbs.qingyunke. ...

  10. Linux设备驱动剖析之IIC(四)

    558行,又重试2次. 560行,调用s3c24xx_i2c_doxfer函数: static int s3c24xx_i2c_doxfer(struct s3c24xx_i2c *i2c, stru ...