function Foo(arg) {
this.bar = function() {
return arg;
};
return this.bar();
}
const notfoo = Foo('not foo');
console.log(notfoo); // "not foo", т.е. notfoo - это не новый Foo, это строка текста.
console.log(notfoo.bar); // undefined, что логично, у стандартной строки никакого bar нет.
const foo = new Foo('foo');
console.log(foo); // [object Object], т.е. вот это - настоящий новый Foo.
console.log(foo.bar); // function() { ... }, и метод bar в нем есть.
console.log(foo.bar()); // "foo"
Какого его не может получить «fetch»?Через браузер вы обращаетесь от домена эндпоинта, от которого хотите получить информацию.
const proxyUrl = 'https://api.allorigins.win/get?url=';
const targetUrl = 'https://rutube.ru/api/video/37daa4e656174d04db06c5fca7548751';
fetch(proxyUrl + encodeURIComponent(targetUrl))
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
// данные могут быть внутри data.contents
console.log('Data retrieved:', JSON.parse(data.contents));
})
.catch(error => {
console.error('There was a problem with the fetch operation:', error);
});
Приведите, пожалуйста, простой пример, как, именно «заменить» ключ (числовой на строковый) в массиве.
unset($array[1]);
$array['first']=1;
<?php
$array = [10, 20, 30, 40, 50];
$arrayIterator = new ArrayIterator($array);
foreach ($arrayIterator as $key => $value) {
// Преобразование числового ключа в строку и добавление префикса
$newKey = 'key_' . $key;
// Удаление старого ключа
$arrayIterator->offsetUnset($key);
// Установка нового ключа с тем же значением
$arrayIterator->offsetSet($newKey, $value);
}
// Преобразование итератора обратно в массив
$newArray = iterator_to_array($arrayIterator);
// Вывод нового массива
print_r($newArray);
?>
- var_dump( $str );
+ echo bin2hex($str);
Получаем cf f0 e8 e2 e5 f2 20 32 30 31 39 20 cc e8 f0 21
Привет 2019 Мир!
class parentClass {
constructor() {
this.extendMethod();
}
extendMethod() { }
}
class extendClass extends parentClass {
extendMethod() {
console.log('Hi');
}
}
new extendClass();
class parentClass {
constructor(child = null) {
child?.extendMethod();
}
}
class extendClass extends parentClass {
extendMethod() {
console.log('Hi');
}
}
new parentClass(new extendClass());
class IBase {
constructor() {
this.extendMethod();
}
extendMethod() { }
}
class A extends IBase {
extendMethod() {
console.log('Hi from A');
}
}
class B extends IBase {
extendMethod() {
console.log('Hi from B');
}
}