Jump to content

DrStrangeLove

User
  • Posts

    404
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by DrStrangeLove

  1. Но в целом их функционал одинаковый?

    Да. Разница в том как они себя ведут при ошибке.

    Например, если есть какой-то функционал с бОльшим приоритетом - его можно загрузить через require();

    если будет ошибка - выполнение кода сразу остановится и появится извещение об ошибке..

  2. Отличие в том, что require("header.php"); выбросит фатальную ошибку, если что-то будет не так, и выполнение кода тут же прекратится.

    А include("header.php"); не выбросит фатальную ошибку (а выбросит предупреждение) и выполнение кода продолжится..

  3. Посмотри здесь..

    перепиши:

    functions: {
    open: function (link,callback) {

    if( xmlHttp ) {
    xmlHttp.open('get', 'test.js?id='+Math.floor(Math.random()*6000));
    xmlHttp.onreadystatechange = function () {
    if (xmlHttp.readyState == 4) {
    if (callback){
    callback(xmlHttp.responseText);
    }


    }
    };
    xmlHttp.send(null);

    }

    }
    }
    }

    Вызываешь так (или как там у тебя):

    open(mylink, function(res){
    var yourvariable = res;


    });

    P.S.: не возвращай ничего в колбэке. Просто присвой в переменную yourvariable, которая видна в текущей области видимости (в крайнем случае глобальной), и которая будет видна той функции, которая будет обрабатывать результат..

  4. у меня по своему разбор идёт чуть, но роли это не меняет

    разве JSON.parse() не строковую переменную создаст ??

    var ob = {'xx':'jj.aa'};

    тут ведь так же строковая переменная будет, а не ссылка

    или я что то не догоняю ?

    А как вообще целиком выглядит принятая JSON строка??

    В ней есть код метода aa??

  5. хорошо, значение переменной, приходит по json

    Если приходит по JSON, тогда во всех современных браузерах есть объект JSON:

    JSON.parse() - метод, превращающий JSON строку в JS объект.

    JSON.stringify() - метод, превращающий JS объект в JSON строку.

    Можешь просто использовать JSON.parse() вместо eval()!

  6. у меня именно строка, она приходит в скрипт

    заодно и такой код работает:

    <script>
    function dd() {
    alert(7);
    }
    var xx = 'dd';
    eval(eval(xx)());
    </script>

    главное, что бы любая функция запустилась..

    А зачем обязательно делать вызов в контексте Window??

  7. придумал:

    <script>
    var jj = {};
    jj.aa = function() {
    alert(5);
    };
    xx = 'jj.aa';
    xx = eval(xx);
    window.xx();
    </script>

    или:

    <script>
    var jj = {};
    jj.aa = function() {
    alert(5);
    };
    xx = 'jj.aa';
    eval(eval(xx)());
    </script>

    не ругайся, что тут 2 eval аж :)

    есть альтернатива ? :)

    А зачем тебе обязательно строка 'jj.aa'??

    Можно, ведь, проще так - http://jsfiddle.net/bxJ3c/

  8. А есть вообще какие-то сведения когда он будет доработан? Или на данный стадии он считается уже доработан просто старые браузеры не поддерживают его?

    Говорят что окончательная (нечерновая) версия стандарта выйдет только в 2022 году..

    О да. Извините конечно может я чего-то не понимаю но за 10 лет можно и большее. Хотя если конечно они задумывают в конечном итоге получить реализацию любого по функционалу веб проекта одним HTML 5. То такие сроки оправданы. Тогда возникает след вопрос :) Как на счет php и js что с этими языками будет?

    Скорее всего ничего с ними не будет:

    HTML5 собственно и используется через JS.

    PHP прост для новичков и стоит по дефолту на каждом дешёвом и не очень хостинге..

  9. блин, у меня сложнее задача то...

    <script>
    var jj = {};
    jj.aa = function() {
    alert(5);
    };
    var peremennn = new Array();
    peremennn[0] = 17;
    peremennn[1] = 'jj.aa';
    if (window[peremennn[1]]) { window[peremennn[1]](); } else { eval(peremennn[1]()); }
    </script>

    переменная НЕ содержит ссылку, а всего лишь имя...

    peremennn[1] = 'jj.aa';

    Ты пытаешься вызвать window['jj.aa'] , как если бы это было имя глобальной функции - как будто jj.aa - глобальная функция..

    на самом деле такой функции нет, а есть метод aa у объекта jj..

    Поэтому не проходит.. ты обращаешься к несуществующей функции - которой нет в Window объекте..

  10. и не запустится, потому что xx нет в объекте window - смотри сам - http://jsfiddle.net/SJG6j/

    но если ты объявишь переменную без var, тогда всё работает - смотри - http://jsfiddle.net/6gbkX/

    P.S.: а eval() - это плохо! Почему? Читай здесь (первым пунктом)

  11. А есть вообще какие-то сведения когда он будет доработан? Или на данный стадии он считается уже доработан просто старые браузеры не поддерживают его?

    Говорят что окончательная (нечерновая) версия стандарта выйдет только в 2022 году..

  12. Эти приставки используются разработчиками браузеров для предоставления css свойств которые еще не имеют официального релиза, но уже объявлены в спецификациях на стадии разработки.

    То есть каждый браузер узнает свой код, а другие браузеры пропускают чужой?

    так точно.

  13. Я прошу прощения, но тебе не всё ли равно??

    Разницы никакой. И всегда везде используют просто alert(); (если он вообще кому-то нужен для приложения, а не отладки)

    Как будто в JS программировании больше не о чем подумать..

  14. Это не классы!!

    Это так называемые вендорные префиксы - приставки к css свойствам (из CSS3), приставки которые идентифицируют браузер.

    Часто css свойства из CSS3 имеют такие приставки. Чтобы css свойство работало в таком-то браузере нужно указать соответствующую приставку..

    Следовательно нужно указать одно и тоже css правило несколько раз - но с разными приставками чтобы работало во всех современных браузерах (поддерживающих CSS3)

    наиболее используемые приставки:

    -moz- Firefox

    -o- Opera

    -webkit- Google Chrome, Safari

    -ms- IE

    -khtml- Konqueror

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy