今天看了一段代码,大概是这样的:

function test(){
a=4;
b=5;
return b=a;
}
test();//返回?

返回值是多少呢?运行结果是4

这可以理解为将a的值赋给b以后,返回b的值,也就是说“=”是有返回值的。

如果是这样的话我们不难理解:

var a=3;
var b=4;
console.log(c=(a=b));//4
<pre name="code" class="javascript">console.log(a);//4

console.log(c);//4


控制台输出4 4 4

a=b运算后,a被赋值为4,并返回4,c=4运算后,c被赋值为4,并且返回4

举一反三:

var a=0;
if(a=10){
console.log("true");
}else{
console.log("false");
}

控制台输出true;

因为a=10,运算后返回10而if(10)将被判断为true

var a=0;
if(a=0){
console.log("true");
}else{
console.log("false");
}

控制台输出false;

因为a=0,运算后返回0,而if(0)将被判断为false

所以同志们不小心把==写成=的话应该知道结果会变成什么样了吧。

转载请注明出处。

后续:

这样一道题,a=b=3;那么a=?

答案是3,这没有问题。

继续问:如果我继续改变b的值,如b=2;那么a=?

我感觉应该是3,以为这是赋值,而不是索引。

有人说a=2,我当时比较迷惑,但也没有继续深入这个话题,害怕自己说的多错的多。

刚才我用chrome浏览器的控制台尝试了一下,的确是a=3。

看来人要大胆说出自己的想法,坚持自己的想法才对。哪怕是错了呢。

关于javascript中=的返回值的更多相关文章

  1. Asp.net MVC 中Controller返回值类型ActionResult

    [Asp.net MVC中Controller返回值类型] 在mvc中所有的controller类都必须使用"Controller"后缀来命名并且对Action也有一定的要求: 必 ...

  2. Controller 中Action 返回值类型 及其 页面跳转的用法

        •Controller 中Action 返回值类型 View – 返回  ViewResult,相当于返回一个View 页面. -------------------------------- ...

  3. javascript中的原始值和复杂值

    × 目录 [1]特性 [2]存储方式 [3]访问方式 [4]比较方式 [5]动态属性 前面的话 javascript的数据类型可以分为两种:原始类型和引用类型.原始类型也称为基本类型或简单类型,jav ...

  4. Javascript中的Keycode值列表

    关于如何得到一个键在Javascript中的Keycode值,可以参考: <body onkeypress=alert(event.keyCode)>请按任意键,你将得到该键的键值! ke ...

  5. [改善Java代码]不要在finally块中处理返回值

    在finally代码块中处理返回值,这是在面试题中经常出现的题目.但是在项目中绝对不能再finally代码块中出现return语句,这是因为这种处理方式非常容易产生"误解",会严重 ...

  6. robot framework中的返回值

    1.若想要再setup中有返回值,给后续的操作使用 A)在setup的关键词中需要的返回值,设置为global variable或者suit variable:如下图:但是在编译器中,会报错,但是执行 ...

  7. Web API中的返回值类型

    WebApi中的返回值类型大致可分为四种: Void/ IHttpActionResult/ HttpResponseMessage /自定义类型 一.Void void申明方法没有返回值,执行成功后 ...

  8. c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题

    c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题 例如: string myFunc(){ theLogics(); } 发现调用: myFunc(); 崩溃. 但调用: cout ...

  9. javascript学习笔记-2:jQuery中$("xx")返回值探究

    最近在写一个jQuery插件的时候,需要用到一个条件: 一组img标签,每一个元素都需要被它前面的元素值src替换,如果是第一个(序列为0)则其值为最后一个元素值,如果是最后一个,那么其值为第一个元素 ...

随机推荐

  1. [考试反思]1013csp-s模拟测试71:徘徊

    分差好大...但是从排名上看也许还可以接受? 不算太炸 但是这个还是算了吧... 其实状态不是很好. T1不会,打的搜索,想到一个剪枝但是感觉没什么用,所以没打. 考后打上,85了...打上另一个就9 ...

  2. 19.7.29 NOIP模拟10

    话说这次三道考试题直接可以连成一个段子:我一个辣鸡,连模板都不会打,只能跪倒在大佬面前; T1 辣鸡 但是我实在是太辣鸡了,最后干的T1,时间不够用,连暴力都没打对,无奈之下交了一个qj程序,60分( ...

  3. 学习笔记之vim的使用

    很多刚学习linux编程的人总是对vim有一种恐惧,我自己就是这么回事的. 可是当你努力的去尝试学习使用后,才发现它的精髓所在. 在我看来,让vim变得好用的前提是要安装两个插件,ctags和tagl ...

  4. Python Socket学习之旅(二)

    Socket函数 注解: Socket的close和shutdown--结束数据传输: close-----关闭本进程的socket id,但链接还是开着的,用这个socket id的其它进程还能用这 ...

  5. Java基础语法03-数组

    四数组 数组概念: 数组就是用于存储数据的长度固定的容器,多个数据的数据类型要一致. 百科:数组(array),就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,以 ...

  6. php imagick生成图片需要注意的问题

    php imagick生成图片需要注意的问题 坐标必须写死不要写自适应 这样才能达到效果图的最好效果 而且不会出现各种问题如果前端显示的生成图片不达标 可以再写一套代码 把后台生成的图片透明度设成0 ...

  7. 史上最详细的C语言和Python的插入排序算法

    史上最详细的C语言和Python的插入排序算法插入排序原理:所谓插入排序,就像我们在打牌(斗地主)时,整理我们自己手中自己的牌一样,就像是2,1,3,9,J,K,5,4,这四张牌.我们要把它其中的几张 ...

  8. LocalDate类

    LocalDate类与Date类不同.Date类是距离一个固定时间点的毫秒数(UTC 1970.1.1 00:00:00) Date类表示时间点,LocalDate类用来表示日历表示法. import ...

  9. [JQuery] JQuery学习笔记

    1.2019年10月20日14:43:48 学习HOW2J. 2.JQuery是一个javascript的框架,是对javascript的一种封装, 通过JQuery可以非常方便的操作html的元素 ...

  10. 将 /u 转变为 utf-8 编码

    将 /u 转变为 utf-8 编码 PHP实例: $result = {"errno":-1,"message":"\u8bbf\u95ee\u5fa ...