#interview #js
Funksiya bor, elementlarni nusxalab qaytaradaigan funksiya yaratish kerak?
Funksiya bor, elementlarni nusxalab qaytaradaigan funksiya yaratish kerak?
duplicate([1, 2, 3]) //[1, 2, 3,1, 2, 3,]
Yechim:const duplicate = args => [...args, ...args];Bu yerda array spread operatoridan foydalanildi
#interview #js
Quyidagi kod qanday natija chiqaradi?
Quyidagi kod qanday natija chiqaradi?
let b = {};
let c;
b.b = 1;
c = b;
c.b = 2;
console.log(b.b);
console.log(c.b);
Behzod | IT blog
#interview #js Quyidagi kod qanday natija chiqaradi? let b = {}; let c; b.b = 1; c = b; c.b = 2; console.log(b.b); console.log(c.b);
Javob:
let b = {}; // b nomli yangi bo'sh obyekt yaratadi
let c; // undefined qiymati bilan yangi o'zgaruvchi yaratadi
b.b = 1; // b obyektning b propertysiga 1 qo'yadi
c = b; // c ga b ni tenglaydi, lekin ikkala o'zgaruvchi ham bitta obyektga ulanadi
c.b = 2; // natiajada ikklasida ham bir xil qiymat paydo bo'ladi chunki bitta obyekt
console.log(b.b); // 2
console.log(c.b); // 2#interview #js
Quyidagi kod qanday natija chiqaradi?
Quyidagi kod qanday natija chiqaradi?
var a = { name: 'Vasya' };
var b = { name: 'Vasya' };
console.log(a === b);
Behzod | IT blog
#interview #js Quyidagi kod qanday natija chiqaradi? var a = { name: 'Vasya' }; var b = { name: 'Vasya' }; console.log(a === b);
Javob: false
Chunki bu 2 xil obyekt hisoblanadi, bu primitiv tip emas
Chunki bu 2 xil obyekt hisoblanadi, bu primitiv tip emas
#interview #js
Quyidagi kod qanday natija chiqaradi?
Quyidagi kod qanday natija chiqaradi?
function f1(a, b) {
console.log(a, b);
}
let f2 = f1.bind(null, 'foo');
f2('bar', 'baz');
Behzod | IT blog
#interview #js Quyidagi kod qanday natija chiqaradi? function f1(a, b) { console.log(a, b); } let f2 = f1.bind(null, 'foo'); f2('bar', 'baz');
Javob:
//foo, barChunki bind() orqali f2 nomli yangi funksiya yaratiladi, 'foo' yuqori darajaga ega bo'ladi, bar biz esa 2,3- argument sifatida ketadi
#interview #js
Quyidagi kod qanday natija chiqaradi?
Quyidagi kod qanday natija chiqaradi?
let name='rabbit'
function go(){
let name="Forest"
console.log(name)
}
name='Alice';
go()
Behzod | IT blog
#interview #js Quyidagi kod qanday natija chiqaradi? let name='rabbit' function go(){ let name="Forest" console.log(name) } name='Alice'; go()
Javob:
// Forest
Global o'zgaruvchi ta'sir qilmaydi , lokal o'zgaruvchi ishlaydi funksiya ichida#interview #js
Skriptlarni sahifaga ulash (async, defer)
https://telegra.ph/Skriptlarni-sahifaga-ulash-async-defer-02-26
Skriptlarni sahifaga ulash (async, defer)
https://telegra.ph/Skriptlarni-sahifaga-ulash-async-defer-02-26
Telegraph
Skriptlarni sahifaga ulash (async, defer)
Zamonaviy vebsaytlarda skriptlar ko'pincha og'irroq bo'ladi HTML ga qaraganda, ularning yuklash hajmi kattaroq, va anchagina vaqt oladi. Qachonki brauzer HTMLni yuklashni boshlasa va <script>...</script> tegiga duch kelsa, brauzer darhol HTML DOM ni yuklashni…
#interview #js
Quyidagi funksiyani yarating?
Quyidagi funksiyani yarating?
add(2, 5); // Output: 7
add(2)(5); // Output: 7
Javob:const add = (a, b) => {
if (b !== undefined) return a + b;
return c => a + c;
};
2-yechim:function sum(a) {
return function (b) {
return a + b; // takes "a" from the outer lexical environment
};
}
Yanada qiyinrog'i:console.log(sum(1)(2).toString()); // 3
console.log(sum(1)(2)(3).toString()); // 6
console.log(sum(5)(-1)(2).toString()); // 6
console.log(sum(6)(-1)(-2)(-3).toString()); // 0
console.log(sum(0)(1)(2)(3)(4)(5).toString()); // 15
function sum(a) {
let currentSum = a;
function nextSum(b) {
currentSum += b;
return nextSum;
}
nextSum.toString = function() {
return currentSum;
};
return nextSum;
}
function sum(a) {
if (arguments.length == 2) {
return arguments[0] + arguments[1];
} else {
return function (b) {
return a + b;
};
}
}
console.log(sum(2, 3)); // Outputs 5sds
console.log(sum(2)(3)); // Outputs 5
#interview #js
Kengaytmani topadigan kod yozing.
Masalan:
Kengaytmani topadigan kod yozing.
Masalan:
getExtension("ferrf.ferf.fe.exe") // exe
Javob:const getExtension = (fileName)=>{
if(typof filename !== 'string')
{
throw new Error('Invalid type')
}
const parts = filename.split(' .')
return parts.length == 1 ? null :parts[parts.length-1]
}#interview #js
Quyidagi divlar jamlanmasining eng quyi chuqurligini toping?
Quyidagi divlar jamlanmasining eng quyi chuqurligini toping?
<div id="app">
<div>
<div>
<div></div>
</div>
</div>
<div>
<div>
<div>
<div></div>
</div>
</div>
</div>
</div>
Javob:const app = document.querySelector('#app');
const treeDepth = (divel, currentLevel) => {
if (divel.children.length === 0) return currentLevel;
currentLevel += 1;
let maxDepth = currentLevel;
Array.from(divel.children).forEach(element => {
maxDepth = Math.max(treeDepth(element, currentLevel), maxDepth);
});
return maxDepth
};
console.log(treeDepth(app, 0));