function DateGetTime() {
CHECK_DATE(this);
return UTC_DATE_VALUE(this);
}
CHECK_DATE(arg) = (%_ClassOf(arg) === 'Date' ? %_ValueOf(arg) : ThrowDateTypeError());
function SpaceDate(...args) {
var date;
date = new Date(...args);
date.__proto__ = SpaceDate.prototype;
return date;
}
SpaceDate.prototype.__proto__ = Date.prototype;
SpaceDate.prototype.test = function() {
return this;
};
$(document).on('focusout', 'input', function(){
var name = $(this).attr('name');
var value = $(this).val();
$('input[name=' + name + ']').val(value);
});
Cannot convert undefined or null to object
import React from 'react';
import { connect } from 'react-redux';
export class Balance extends React.Component {
// some code
}
const mapStateToProps = ({ total }) => ({ total });
export default connect(mapStateToProps)(Balance);
import { Balance } from './Balance';
import Balance from './Balance';
import React from 'react';
import { shallow, mount } from 'enzyme';
import { expect } from 'chai';
import { Balance } from '../app/containers/balance/src/balance';
describe('<Balance />', () => {
it('Balance test', function () {
const mockTotal = { /* mock code */ };
const wrapper = shallow(<Balance total={mockTotal} />);
expect(wrapper.contains(<h3>Мои балансы</h3>)).to.equal(true);
});
});
imagesLoaded(document.body, { background: true }, () =>
document.body.classList.remove('loading'));
const piecesObj = new Pieces(document.querySelector('.slideshow > .pieces'), {
pieces: {rows: 22, columns: 20},
delay: [0,60],
hasTilt: true,
tilt: {
maxRotationX: -1,
maxRotationY: -1,
maxTranslationX: -5,
maxTranslationY: -2
}
});
let isAnimating = false;
const openImage = () => {
isAnimating = true;
piecesObj.animate({
duration: 400,
easing: 'easeOutQuad',
autoplay: true,
delay: (t,i,l) => {
return parseInt(t.dataset.row) * parseInt(t.dataset.delay);
},
translateX: (t,i) => {
return anime.random(-500,500)+'px';
},
translateY: (t,i) => {
return anime.random(-800,-200)+'px';
},
rotateZ: (t,i) => {
return anime.random(-45,45)+'deg';
},
opacity: 0,
complete: () => {
piecesObj.setImage(imgsrc);
piecesObj.animate({
duration: 500,
easing: [0.3,1,0.3,1],
delay: (t,i,l) => {
return parseInt(t.dataset.row) * parseInt(t.dataset.delay);
},
translateX: 0,
translateY: () => {
return [anime.random(200,800)+'px','0px'];
},
rotateZ: 0,
opacity: {
value: 1,
duration: 500,
easing: 'linear'
},
complete: () => {
isAnimating = false;
}
});
}
});
};
document.addEventListener('DOMContentLoaded', openImage);
var div = document.getElementById("div3");
var input = document.getElementById('value_for_div3');
input.addEventListener('keyup', function(e) {
div.innerHTML = this.value.replace(/а/g, 'A');
});
div.innerHTML = this.value.replace(/(a|а)/g, '$1'.toUpperCase());
render() {
const { res } = this.state;
const shouldFlimDisplayShown = !!res;
return (
<div>
<form onSubmit={this.handleSubmit}>
<label htmlFor="title">Enter title</label>
<input id="title" name="title" type="text" />
<button>Send data!</button>
</form>
{shouldFlimDisplayShown && <FilmDisplay filmName={res}/>}
</div>
);
}
import React from 'react';
class FilmDisplay extends React.Component {
constructor() {
super();
this.state = {
filmData: null
};
}
componentDidMount() {
this.fetchMovie();
}
componentDidUpdate(prevProps) {
if (prevProps.filmData !== this.props.filmData) {
this.fetchMovie();
}
}
fetchMovie() {
const { filmName } = this.props;
const URL = "http://www.omdbapi.com/?t=" + filmName + "&apikey=6540f2ec&";
fetch(URL).then(res => res.json()).then(json => {
this.setState({ filmData: json });
});
}
render() {
const { filmData } = this.state;
if (!filmData) return <div>Loading</div>;
return <div>{JSON.stringify(filmData)}</div>;
}
}
export default FilmDisplay;
var wor = 'alesh.3';
var key = 'last30m';
var record = json.data.rows.find(function(el) {
return el.wor === wor;
});
var value = record ? record[key] : null;
const wor = 'alesh.3';
const key = 'last30m';
const { data: { rows } } = json;
const record = rows.find(el => el.wor === wor);
const value = record ? record[key] : null;
{
"extends": [
"airbnb",
"prettier",
"prettier/react"
],
"plugins": [
"prettier"
],
"parser": "babel-eslint",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
}
},
"env": {
"browser": true,
"node": true
},
"rules": {
"no-plusplus": 0,
"no-confusing-arrow": 0,
"no-restricted-syntax": 0,
"guard-for-in": 0,
"class-methods-use-this": 0,
"jsx-a11y/no-static-element-interactions": 0,
"jsx-a11y/anchor-is-valid": 0,
"react/no-danger": 0,
"react/prop-types": 0,
"react/jsx-filename-extension": 0,
"react/jsx-curly-brace-presence": ["error", { "props": "never", "children": "never" }],
"import/no-unresolved": ["error", { "commonjs": true }],
"import/extensions": 0,
"import/no-extraneous-dependencies": ["error", {"devDependencies": true}],
"import/prefer-default-export": 0,
"prettier/prettier": ["error", {
"singleQuote": true,
"trailingComma": "all"
}]
}
}
"scripts": {
// ваши скрипты
"precommit": "./node_modules/.bin/lint-staged",
},
"lint-staged": {
"**/*.js": [
"./node_modules/.bin/prettier --write",
"./node_modules/.bin/eslint --fix",
"./node_modules/.bin/stylelint './app/**/*.js'", // если используете css in js
"git add"
]
},
const greetings = 'Hello, friend';
let h1;
function say() {
h1 = document.createElement('h1');
h1.innerHTML = greetings;
document.body.appendChild(h1);
}
say();
if (module.hot) {
module.hot.dispose(() => {
document.body.removeChild(h1);
});
module.hot.accept();
}
const greetings = 'Hello, friend';
export default greetings;
import './styles.css';
let greetings = require('./greetings').default;
let h1;
function say() {
h1 = document.createElement('h1');
h1.innerHTML = greetings;
document.body.appendChild(h1);
}
say();
if (module.hot) {
module.hot.accept('./greetings', () => {
greetings = require('./greetings').default;
document.body.removeChild(h1);
say();
});
}
import './styles.css';
import greetings from './greetings';
let h1;
function say() {
h1 = document.createElement('h1');
h1.innerHTML = greetings;
document.body.appendChild(h1);
}
say();
if (module.hot) {
module.hot.accept('./greetings', () => {
document.body.removeChild(h1);
say();
});
}
{
"extends": [
"airbnb",
"prettier",
],
"plugins": [
"prettier"
],
"parser": "babel-eslint"
}
prettier --write
i % j == 0
приj >=2 && j < i
(i делится на j без остатка при значениях j от 2 и выше, но меньше i) число i не является простым и мы нам надо выйти из итерации цикла, но не внутреннего, в котором мы в данный момент находимся, а внешнего, так как нас больше текущее значение i не интересует. Для этого используется метка main. Вызов continue main;
переносит нас на следующую итерацию внешнего цикла. class Example extends Component {
state = {
inputValue: '',
};
handleChange = e => {
const { name, value } = e.target;
this.setState({
[name]: value,
});
};
handleSubmit = e => {
e.preventDefault();
// получить состояние формы можно обратившись к this.state
};
render() {
const { inputValue } = this.state;
return (
<form onSubmit={this.handleSubmit}>
<input
name="inputValue"
value={inputValue}
onChange={this.handleChange}
/>
...
</form>
);
}
var x = prompt("введите число");
console.log(typeof x); // string
var x = +prompt("введите число");
console.log(typeof x); // number при условии, что строку можно привести к числу
'0' === 0 // false
var input = prompt('Введите число: ');
if (input === '') {
alert('Пустая строка');
} else if (input === null) {
alert('Вы нажали "Отмена"');
} else if (Number.isNaN(+input)) {
alert('Вы ввели не число');
} else if (+input === 0) {
alert('Вы ввели 0');
} else if (+input > 0) {
alert('Вы ввели число больше 0');
} else {
alert('Вы ввели число меньше 0');
}