cari

Rumah  >  Soal Jawab  >  teks badan

css - operator jenis javaScript

Saya baru-baru ini bertemu dengan seseorangjs的题,题目是这样的。
var str = 'abc' ;
typeof (str++)
最开始我以为返回的是String类型的值!但是结果却是Number,让我很费解!
我理解的思路是,首先拆开 str++ , 也就是str = str+1; 这不就是字符串拼接么。返回的还是str啊。
但是当我打印出来 str++ 之后 却是一个NaN的类型。typeof(NaN)yang merupakan jenis Nombor!

Dalam erti kata lain,
console.log(str++)console.log(str++)
console.log(str = str+1)console.log(str = str+1)
bukan setara!

Maaf, kenapa ni? ?

習慣沉默習慣沉默2767 hari yang lalu671

membalas semua(5)saya akan balas

  • 某草草

    某草草2017-06-12 09:33:29

    Ditulis dalam pengaturcaraan JavaScript lanjutan,++--是递增递减的一元操作符,只能操作一个数据,和加性操作符+是不一样的,
    他首先会把操作数转换为Number类型,然后进行加一或减一操作。所以str = str+1 不等于 str++

    balas
    0
  • 学习ing

    学习ing2017-06-12 09:33:29

    Kerana apabila menggunakan str++, js telah secara tersirat menukar jenis rentetan str kepada jenis angka

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-12 09:33:29

    console.log(str++) ++ akan cuba menukar str kepada nombor Jika penukaran automatik tidak berjaya, ia akan menjadi NaN

    console.log(str = str+1) +Pada masa ini, cuba sambung rentetan dan ia menjadi abc1

    balas
    0
  • 黄舟

    黄舟2017-06-12 09:33:29

    Tiada apa-apa dalam js yang menjamin bahawa a++ dan a=a+1 adalah setara.

    ++只有<number>重载,+<string, string><number, number>Muat semula. Walaupun tingkah laku tidak dipertimbangkan, jenis tidak lagi setara.

    Bahasa lain mungkin wujud, dan tidak boleh dikelirukan dengan JS.

    balas
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-12 09:33:29

    Pertama sekali, pemahaman anda salah str++ tidak sepenuhnya bersamaan dengan str+=1 Di sini ia hanya perlu difahami sebagai kenaikan diri, tetapi kenaikan diri hanya digunakan pada nombor, jadi str++ akan melakukan penukaran jenis tersirat terlebih dahulu. dan nilai str ialah 'abc' ialah NaN selepas penukaran Nilai pulangan bagi jenis NaN ialah Nombor

    balas
    0
  • Batalbalas