javascript - 变量和赋值的顺序问题
伊谢尔伦
伊谢尔伦 2017-04-11 09:08:52
0
3
229

我在看jaascript面向对象编程指南,第二章后面有个习题:

执行下面的语句后,v值会是什么.
var v = v || 10;

用编译器执行的结果是undefined。我有点想不明白。

我的理解是这样,在声明v的同时也给v赋值了,所以v应该是10;执行过程类似于这样
加一句话,这里是我个人认为的执行过程,并不是实际的,下面这段的结果是10,我只是不理解上边的代码结果为什么是undefined

var v; v = v || 10; v;

所以我的困惑难道是赋值没有完成,只进行了变量声明么?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

모든 응답 (3)
左手右手慢动作

v的值就是10。

你看的是赋值操作返回的是undefined。见图

    迷茫

    || 的优先级高于=

      伊谢尔伦

      v应该是10,变量声明提升,实际执行应该如下:

      var v; v = v||10;//等同于v = undefined||10

      最终结果为10

        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!