Лучше проверять не переданные аргументы в функцию, путем сравнения их с undefined.
function Server(port, hostname) {
if (hostname === undefined) {
hostname = "localhost";
}
hostname = String(hostname);
// ...
}
Проверку можно делать и так
function Server(port, hostname) {
hostname = String(hostname || "localhost");
// ...
}
но надо быть осторожным, так как значение 0 или пустая строка "" при сравнении преобразуются в false!!!
function Element(width, height) {
this.width = width || 320; // wrong test
this.height = height || 240; // wrong test
// ...
}
var c1 = new Element(0, 0);
c1.width; // 320
c1.height; // 240
Поэтому надежнее всего писать так
function Element(width, height) {
this.width = width === undefined ? 320 : width;
this.height = height === undefined ? 240 : height;
// ...
}
var c1 = new Element(0, 0);
c1.width; // 0
c1.height; // 0
var c2 = new Element();
c2.width; // 320
c2.height; // 240
Комментариев нет:
Отправить комментарий