Функция JS (2019-06-28)

обзор

  • 1- в то время как 和 делать, в то время как

        初始化循环变量
        while(条件){
            循环体;    
            更新变量操作;
        }
    
        do{
            循环体;  
        }while(条件);
    
    
  • 2-брейк и продолжить разорвать порочный круг продолжаться в течение конца конца текущего раунда цикла, следующий цикл продолжается

        for(var i = 0; i < 5; i++){
            if(i==2){
                break;
            }
            console.log(i);
        }
    
    
  • 3- для-ин (предназначен для обхода объекта)

        var obj = {name:'ujiuye',2:'bbb',age:18,1:'aaa'};
        for(var key in obj){
            key:属性名
            obj[key]: 值
        }
    
    
  • 4- этот

        var aLi  = document.getElementsByTagName('li'); //[li,li,li] 0-2
        var aDiv  = document.getElementsByTagName('div'); //[div,div,div] 0-2
        for(var i = 0; i < aLi.length; i++){
    
            oLi[i].index = i;
    
            oLi[i].onclick = function(){
                console.log(i);
                this.style.backgroundColor = "red";
                console.log(this.index);
                var a = this.index; //a = 1
                aDiv[a].style.display = "block"; 
            }
        }
        // i = 3;
    

Функция (А)

  • Блок кода является функцией, которая может быть повторно использована

  • 1- функция для создания

    • Функция для создания процесса, чтобы найти место кучи памяти, тело кода функции хранятся в, адресе памяти, назначенный на имя функции
        function 函数名(){       
            //函数体
        }
    
  • Функция 2- вызова

    • После объявления функции можно вызывать несколько раз
    • Придется вызвать функцию каждый раз, когда новая частная сфера, сфера не может получить доступ к переменным друг с другом, глобальный охват не может получить доступ к закрытому видимости переменных внутри
        函数名();
    
  • 3- функция возвращает значение

    • После того, как реализация результатов функции хочет остаться, вернуть возвращаемое значение
    • Если вы не вернетесь, оставляя функцию неопределенны (Функция возврата по умолчанию значение по неопределенно)
    • Функция возврата орган может приостановить исполнение
          function sum(){
              var total = 1+3;
              return total; //返回的是total代表的值
              console.log(total);//这个代码不会运行
          }
      
          var n = sum();  //n = 4
      
      
  • 4- параметры функции

    • Для того, чтобы функционировать параметры функции обеспечивает более гибкую функциональность
    • Значения параметров по умолчанию не определены Unassigned
        function sum(n,m){  //函数定义同时定义形参,相当于声明了两个变量
            var total = n+m;
            return total;
        }
        var t = sum(100,200);//调用函数时传递实参
        console.log(t);
    
  • 5- операции стиль

    • Окружение: ele.style.width установлен встроенный стиль
    • Получает: ele.style.width стиль может получить только между строками
    • AfDB стиль:
      • Стандартный браузер: getCoumputedStyle (Эле) .width
      • т.е. браузер: ele.currentStyle.width
    • Получить функции стиля пакета
        function getCss(ele,attr){
            return  ele.currentStyle==="undefined" ? getCoumputedStyle(ele)[attr] : ele.currentStyle[attr];
        }
        getCss(box,'width');
    
  • 6-аргументы встроены в функциональный объект, который представляет собой совокупность аргументов

        function fn(){
            console.log(arguments);
        }
    
        fn(1);  //arguments [1]   
        fn(1,2);     // arguments [1,2]  
    
    
  • 7- отличается функциональная форма

  • 1) - функция по имени

        function sum(){    
        }
        sum();
    
  • 2) - обработчик события

        //事件处理函数,一般使用的是匿名函数
        box.onclick = function(){
    
        }
        //如果事件绑定使用的是命名函数,不能加(),不能传参
        box.onclick = fn;
    
        //如果命名函数需要传参,需要放在匿名函数里面
        box.onclick = function(){
            fn('hello');
        }
    
  • 3) - Метод в зависимости от объекта

    • Когда значение атрибута функции объекта, вызов методов объекта атрибутов
        var obj = {
        name:'ujiuye',
        age:18,
        eat:function(){ //eat方法
                console.log('吃面条!');
            }
        }
        obj.eat();
    
  • 8- функции того же вопрос о названии

        // 函数名相同时,后面会覆盖前面的
        fn1();  //222
        function fn1(){
            console.log(111);
        }
        fn1(); //222
        function fn1(){
            console.log(222);
        }
        fn1();//222
    
  • 9-эта точка

    • 1) - это относится к обычному объекту функции окна
        //命名函数(普通函数)
        function fn(){
            console.log(this);// 普通函数里面的this是window
        }
        fn();
    
    • 2) - обработчик событий внутри этого, указывая на элемент, который вызвал событие
        var oBox = document.getElementById('box');
        //事件处理函数,一般使用的是匿名函数
        oBox.onclick = function(){
            console.log(this); // oBox
        }
    

    -3) - метод внутри этого объекта указательного метода поиска информации объекта

        var obj = {
            name:'ujiuye',
            age:18,
            eat:function(){ //eat方法
                console.log(this);
            }
        }
        obj.eat(); // obj
    
  • 10- глобальный охват и частный охват & глобальные переменные и локальные переменные

    • Глобальный охват: Просмотр выделенного JS памяти стека во время выполнения (общественное пространство)
    • Глобальные переменные: глобальная область видимости объявления переменных, называется глобальной переменной, можно получить доступ из любого места, пока не глобальные переменные не объявлены внутри функции
    • Частная сфера: производить частную сферу, когда функция выполняются
    • Локальные переменные: переменные внутри функция декларации или параметр функции, все локальные переменные, эффект не может быть доступен за пределами
    • Область применения цепи: переменные, используемые в функции и загляните внутрь из текущей области, если нет, посмотрите на уровень области видимости, если вы не держите глядя вверх, пока вы не найдете глобальный масштаб, если не на ошибки (вы можете найти родительский ребенка, отец не может найти ребенка)
    
    
  • 11- preresolved (переменная упоминается звук)

    • Мы будем делать некоторые вещи, прежде чем браузер запустить JS, найти вар, объявления функций заранее
    • Var заявление, не приписанного значения на данный момент не определено
    • С Оператор присваивания и функции
    • После предварительного разбора завершается перед выполнением кода сверху вниз
    • Предварительно синтаксический анализ возникает, когда текущая область, функция будет выполняться внутри первого предварительно разобрано, а затем запустить код
  • Разница между 12- и функциями обычного выражения функции декларативно

        fn1();//因为函数在预解析时已经被声明并且赋值,所以可以在再函数定义之前调用
        function fn1(){  }
    
        fn2(); // 因为函数写在等号后面不会被预解析,所以这种方式不能再函数定义之前调用
        var fn2 = function(){  }
    
  •  

рекомендация

отwww.cnblogs.com/didamehulayou/p/11106782.html