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));#interview #js
1. Nuxt js va Vue js farqi
2. SSR nima
3. Child componentdan Parentga
4. Vue js lifecycle hooklar sanang
1. Nuxt js va Vue js farqi
2. SSR nima
3. Child componentdan Parentga
4. Vue js lifecycle hooklar sanang
#interview #js
function reduce(arr, callback, initVal) {
let acc = initVal === 'undefined' ? 'undefined' : 0;
for (let i = 0; i < arr.length; i++) {
if (acc !== 'undefined') {
acc = callback(acc, arr[i], i, arr);
} else {
acc = arr[i];
}
}
return acc
}
const numbers=[1,2,3]
console.log(reduce(numbers,function(acc,val){
return acc+val
},0))function map(arr, callback) {
const newArr = [];
for (let i = 0; i < arr.length; i++) {
const result = callback(arr[i], i, arr);
newArr.push(result);
}
return newArr;
}function customSome(callback) {
for (let i = 0; i < this.length; i++) {
if (callback(this[i], i, this)) {
return true;
}
}
return false;
}
Array.prototype.customSome = customSome;function filter(array, callback) {
const filteredArray = [];
for (let i = 0; i < array.length; i++) {
if (callback(array[i], i, array)) {
filteredArray.push(array[i]);
}
}
return filteredArray;
}Quyidagi funksiyani bir necha marta chaqirish orqali, counterni increment qilishni, yo'li self invoked funksiyadan foydalanish
const add = (function () {
let counter = 0;
return function () {counter += 1; return counter}
})();
add();
add();
add();
console.log(add())for (var i = 1; i <= 10; i++) {
function foo(x) {
setTimeout(() => {
console.log(x);
}, 0);
}
foo(i);
}function addGlobalEventListener(type, selector, callback, options) {
document.addEventListener(type, e => {
if (e.target.matches(selector)) callback(e)
}, options)
}
addGlobalEventListener("click", ".btn", () => {
console.log("Clicked Button")
}, { once: true })Nullish operator qattiqroq tekshiradi logical OR(||) operatorga qaraganda
const x = false;
const y = 0;
const z = '';
const a = x || 'default'; // 'default'
const b = y || 'default'; // 'default'
const c = z || 'default'; // 'default'
const d = x ?? 'default'; // false
const e = y ?? 'default'; // 0
const f = z ?? 'default'; // ''
Javascript dasturlash tilida bir nechta funksiya turlari bor.
1.Function declaration. Ushbu tur juda keng foydalaniladi. Function declarationda funksiya
Misol:
Bu turdagi funksiyani siz anonim tarzda yaratasiz va biror bir o'zgaruvchiga tenglashtirasiz.
Misol:
Misol:
Misol:
1.Function declaration. Ushbu tur juda keng foydalaniladi. Function declarationda funksiya
"function" kalit so'zi bilan boshlanadi va hohlagan nomingizni yozasiz.Misol:
function myFunction(param1, param2) {
// Function body
}
2. Function expression. Bu turdagi funksiyani siz anonim tarzda yaratasiz va biror bir o'zgaruvchiga tenglashtirasiz.
Misol:
const myFunction = function(param1, param2) {
// Function body
};
3. Arrow functionlar. Bu funksiya turi ES6 versiyada kirgizilgan, Bu funksiyalar doim anonimus bo'ladi.Misol:
const myFunction = (param1, param2) => {
// Function body
};
4. Konstrkuturli funksiyalar. Bu turdagi funksiyalar yangi funksiyali obyekt yaratish uchun ishlatiladiMisol:
const myFunction = new Function("param1", "param2", "return param1 + param2");Javascriptda first-class function nima?
First-class function biror bir o'zgaruvchiga tenglashtirilib, boshqa bir funksiya uchun argument sifatida ishlatilinishi mumkin
Misol:
First-class function biror bir o'zgaruvchiga tenglashtirilib, boshqa bir funksiya uchun argument sifatida ishlatilinishi mumkin
Misol:
function multiplyByTwo(num) {
return num * 2;
}
function mapArray(arr, fn) {
const result = [];
for (let i = 0; i < arr.length; i++) {
result.push(fn(arr[i]));
}
return result;
}
const numbers = [1, 2, 3, 4];
const doubledNumbers = mapArray(numbers, multiplyByTwo);
console.log(doubledNumbers); // [2, 4, 6, 8]
Bu misolda multiplyByTwo nomli funksiya yaratdik. Shungdek mapArray funksiyani argumentlari, array, va funksiya qabul qiladigan qilib yaratdik. Va natijada biz multiplyByTwo funksiyasini argument sifatida ishlatishimiz va callback qilib chaqirishimiz mumkin