Javascriptda Console.log chiqishi

Why do console.log(00); and console.log(01); print 0 & 1 in the browser console and not 00 & 01?

console.log(00);//prints 0;
console.log(01);//prints 1;
console.log(011);//prints 9;
console.log(0111);//prints 73;
6
011 va 0111 xatti-harakati bu erda katta maslahatdir :)
qo'shib qo'ydi muallif Ege Bayrak, manba
@Matsemann Albatta, dupe emas. Bilan bog'liq bo'lsa-da, bu parseInt haqida emas, balki tamsayı harflari haqida
qo'shib qo'ydi muallif Bergi, manba
Men sizning ta'rifingizda siz 0 va 0111 namunalarining xatti-harakati qiziqarli bo'lganligi sababli, siz 00 va 01 haqida faqat siz so'ramoqchiman.
qo'shib qo'ydi muallif nnnnnn, manba
Buning ma'nosi qanday? Faqat mantiqiy emas, balki butunlay bosh karıştırıcı.
qo'shib qo'ydi muallif BartoszKP, manba
Nima uchun 00 ni bosib chiqaradi?
qo'shib qo'ydi muallif Biffen, manba
@nnnnnn boshqa misollar haqida ham bilmoqchiman, faqatgina 00 va 01-raqamlardagi savollarimning kontekstini boshlash uchun
qo'shib qo'ydi muallif Godfrey Fernandes, manba

6 javoblar

Hech qachon etakchi nol (masalan, 07) bilan raqam yozmang.   Ba'zi JavaScript-lar versiyalari noldan boshlangan bo'lsa, raqamlarni sakkizga tenglashtiradi.

Buning sababi, JavaScript-ni sakkizinchi raqam sifatida olib boradi va shuning uchun siz sekizli sonni (baz 8) olasiz.

parseInt yordamida radix bilan foydalanishingiz mumkin. bu kabi masalalar.

Va console.log so'rovnomasi sekundlar deb nomlanganligi sababli, console.log usuli yordamida valueOf usuli usulini chaqiradi. Hech narsa qaytara olmasa, toString usuli chaqiradi.

Va valueOf usuli quyidagi kabi qiymatlarni qaytaradi:

00.valueOf()  //0
01.valueOf()  //1
011.valueOf() //9
0111.valueOf()//73

Reference:- http://javascript.info/tutorial/object-conversion

Malumot uchun siz raqam tizimi jadvalini qo'shib qo'ydim

Raqamli tizim jadvali

Number System

22
qo'shib qo'ydi
OK, lekin bu aslida nolga teng bo'lmagan chiqishni tushuntirmaydi.
qo'shib qo'ydi muallif nnnnnn, manba

Baholash

When executing console.log(stuff), before printing, stuff is evaluated to see what is to be printed. This is why console.log(3+2) prints 5 and not 3+2. This has nothing to do with console.log in particular, the evaluation is done before the execution of console.log. Any function would behave the same way, it would be passed the evaluated 5 as parameter and not the initial 3+2

Tahrirlash

Baholashdan oldin ham o'yinda yana bir omil bor: ajralish. Tahrirlash manba kodini tarjima qilishning dastlabki qadamidir va manba kodidagi belgilarni tahlil qilish uchun qanday mantiqiy konstruktsiyalarni (nishonlar) murojaat qilishni anglatadi.

Bu erda juda ko'p sonli raqamlar " bir necha usul:

Bularning barchasi bir xil 2 raqamga - 1 va 15 ga qaraydi, biroq ular bir xil raqamni 6 va 0000006 deb hisoblashingiz bilan bir xil grafik tasvirlardir.

Resurs kodi ayrıştırıldıktan so'ng, manba kodi yozilgan belgilar, vakili bo'lgan haqiqiy songa ko'ra, "o'zgartirilgan". Bu degani Javascript dvigatelidan oldin siz yozgan belgilarni bosib chiqarish kerakligini bilishingiz kerak, va siz qaerda saqlanayotgan haqiqiy raqamlar.

Qo'shimcha B

Asosiy Javascript spektrlari faqatgina 0o bilan boshlangan sakkizinchi raqamlarni hisobga olgan holda,

eski sintaksisi 0 bilan boshlangan sakkizinchi raqamlarni ko'rib chiqadi.

11
qo'shib qo'ydi

konsolda 8 tagacha nolga ega.

console.log(00)=0
console.log(01)=1
console.log(011)=9 //0+8+1
console.log(0111)=73 //0+64+8+1
6
qo'shib qo'ydi

Cause console.log always shows in DEC format. For example: 011 is 11 in OCT, and 9 in DEC.enter image description here

1
qo'shib qo'ydi

Console.log (00) yozganingizda, argument 00 raqam sifatida talqin etiladi va shuning uchun 0 bosiladi. Boshqa tomondan, console.log ("00") 00 deb yozsangiz, 00 satr sifatida talqin etiladi va 00 yoziladi.

1
qo'shib qo'ydi
Savolingizdagi so'nggi ikki misolni ko'rib chiqsangiz, savol yanada qiziqarli bo'ladi, shunday emasmi?
qo'shib qo'ydi muallif David Hedlund, manba
011 ga nima deysiz?
qo'shib qo'ydi muallif Harshil Dave, manba

Men bu borada izlanishlar olib bordim va bu echimni topdim.

1-nuqta - Agar nolga etadigan har qanday raqam doimo kasr hisoblanmasa.

2-son - Nolga etadigan va qolgan 8 yoki 9 raqamni o'z ichiga olgan raqam sekunddan iborat va qiymatini kiritish paytida o'nlikka aylantiriladi.

3-raqam - Nolga etadigan va qolgan 8 yoki 9 sonni o'z ichiga olgan raqamlar o'nlik qiymat sifatida baholanadi.

4 - 00 dan 07-gachasi nuqtalar allaqachon o'nlik kasrda bo'lgani uchun kasrga aylantirilmaydi.

var a = 07
console.log(a)  //// 7

var a = 08
console.log(a)  //// 8

var a = 016
console.log(a) //////14

var a = 018
console.log(a) //////18

var a = 078
console.log(a) //////78

var a = 077
console.log(a)  ////////63

var a = 096
console.log(a) /////96
0
qo'shib qo'ydi
Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb