国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - z=z=z++里的執行過程

瀏覽:132日期:2023-03-17 09:27:41

問題描述

var z = 0;z=z=z++;alert(z);

彈窗是0,為什么?

var z = 0;z++;z=z;alert(z);

的區別?

問題解答

回答1:

好奇你這是為了做題還是你在哪個開源項目的代碼中看到過作者使用這樣的書寫方式, 如果是為了做題或筆試, 建議不要考慮這樣的學校或公司. 因為此題毫無意義, swift3甚至去掉了++操作符, 人生短暫, 把時間浪費在讓人confusing或容易出錯的語法特性上不值.

回答2:

兩個點:

a = a++ 先賦值,后自增

賦值表達式是有返回值的,簡稱為表達式的值

z=z=z++;

相當于將「z=z++」表達式的值賦值給z,而「z=z++」的值等于「z++」,「z++」先使用z當前值,后自增

回答3:

后置自增:n++這樣的表達式會返回一個n原始值的副本,然后將n原始值++n = n++ 后置自增運算符的優先級高于賦值所以=右側會先將n自增并返回n的原始值副本然后進行賦值操作 將n的原始值賦值給n,所以n的值不變

回答4:

z++是個表達式,表達式的結果還是z,所以 z=z++相當于z=z 啥也沒做,你要了解下 z++的邏輯是先返回變量的值,然后才自增。

或者你用++z,前自增是先自增,然后返回自增后的結果

回答5:

等價于

a=z++;z=a;z=z;回答6:

++ 和= 運算順序的問題 建議看一下 運算 賦值的優先級

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 浦江县| 历史| 天柱县| 和林格尔县| 江津市| 信丰县| 中方县| 什邡市| 金山区| 怀来县| 容城县| 台北县| 龙里县| 阿尔山市| 贵定县| 民乐县| 齐齐哈尔市| 贡山| 桂东县| 丹寨县| 从化市| 特克斯县| 尉犁县| 榆中县| 志丹县| 西华县| 句容市| 吐鲁番市| 拜泉县| 屏边| 炎陵县| 平定县| 花莲县| 屏山县| 中宁县| 卢氏县| 独山县| 广安市| 恩施市| 太湖县| 新昌县|