zoukankan      html  css  js  c++  java
  • jquery

    JS作用域

      变量的作用域是在声明时决定的而不是调用执行时决定

    var a=8,b=9;
    function sum(){
    //    var a=3,b=5;
        function p(){
    //        var a=4,b=6;
            console.log(a+b); // 17
        }
        p();
    }
    sum();

    JS词法分析 

      函数执行前,会进行预编译,这个预编译的过程就是词法分析
      会形成一个活动对象,Active Object AO
      分析三个内容:
        1.分析函数的参数
          AO.age = undefined
          1.2 AO.age = 5
        2.分析函数的变量声明
          如果有,不做任何处理,如果没有的话,AO增加这个属性
        3.分析函数内函数声明表达式
          AO.age = function(){}

        var str = "global"; //AO1  AO1.str
        function t(age){
            console.log(str); // undefined
            var str = "locale";
    //        console.log(str); // locale
    
        }
        t();
    // 预编译,形成AO对象:
        /**
         * 1.f分析函数的参数:
         * 如果没有参数的话,AO对象上没有任何属性
         *  Ao.age = undefined
         * 2.分析函数的变量声明:
         * AO.str = undefined
         *
         * 3.分析函数的函数声明表达式:
         * 无
         * AO.sum = functioon(){}
         * **/
    /**
     * AO.str = "lcoale"
     * **/
        function t(age) {
            console.log(age); // function age(){}
            var age = 99;
            console.log(age); // 99
            function age() {
            }
    
            console.log(age); // 99
        }
    t(5);
        // 预编译:activeobject  AO
        /**
         * 1.分析函数参数:
         * AO.age = Undefined
         *  1.2 AO.age = 5
         *
         * 2.分析函数变量:
         * 如果AO上有值,则不做处理,没有,AO加上
         *
         * AO.age = 5
         *
         * 3.函数声明表达式
         * AO.age = function(){}
         * **/

    JQuery

      DOM:
        1.直接查找:
        2.间接查找

      Jquery是什么?
        其实python中的模块 类库
        import time
        time.sleep()
      Jquery的特点?
        1. 强大选择器 --- 类似于css的选择器
        2. DOM操作
        3. Ajax封装
        4. 版本兼容性好
      JQuery的版本:
        1.x.x ---- 1.12.4
        2.x.x
        3.x.x
      基本选择器:
        ps:
          jquery --> DOM $("#test")[0]
          DOM ----->jquery $(DOM对象)
        1.id选择器:
          $('#test') === document.getElementById('test')
        2.标签选择器
          $("div")
        3.class选择器
          $('.class')
        4.组合选择器
          $('div,p,span')
        5. 祖先 --- 子孙
          $('form input')
        6. parent > child
          $('form > input')
        7. :first :last :eq()

        8.属性选择器
          <input type="text" name='username'/>
          $("input[type='text']")

        实例:表格的全选 反选和取消

      筛选器:
        1.next ---- 获取紧邻的下一个元素
          nextAll
          nextUtil
        2.prev ----- 获取紧邻上一个元素
          prevAll
          prevUtil
        3.children() --- 获取所有的子元素
        4.parent() ---- 获取父元素
        5.silbings --- 获取兄弟元素
        实例:左侧菜单选择

      动画
        fadeIn()
        fadeOut()
        slideDown()
        slideUp()

      样式操作:
        $("xxx").css("display",none);
        addClass() ---- 添加样式
        removeClass() --- 移除样式
        hasClass() ---- 判断有没有样式
        实例:开关灯效果

      文本操作:
        $("xxx").text("dsadsa")

        input系列框里面的值,
        $("xxx").val("dsadsa")
        $("xxx").html()

      属性操作
        $("xxx").attr("alex","sb"); //赋值
        $("xxx").attr("target");
        $("xxx").removeAttr("target")

        在操作关于input系列【radio checkbox】 我们选中或者取消,不能采用attr来进行设值 ---- 1版本
        3 版本修复了这个bug---
        prop()专门是用来对input【radio checkbox】
        $("xxx").prop()

      文档操作:
        append() --- 往选中的元素内部的后面添加元素
        appendTo() --

        prepend() --- 往选中的元素的前面添加元素
        prependTo() ---

        after --- 往选中元素的外部得后面进行添加
        before --- 往选中元素的外部得前面进行添加

        empty() --- 将元素内部的内容删除
        remove() ---将元素的标签删除

      事件
        DOM:onclick jquery:click
        ondbclick
        onblur
        onfocus
        onmouseover
        onmouseout
        onkeyup
        onkeydown

        $("xxx").on("click",function(){})
        $("xxx").off("click",function(){})

        $("xxx").bind("click",function(){})
        $("xxx").unbind("click",function(){})

        $("xxx").delegate("xx","click",function(){})

      阻止事件发生:
        return false
      页面加载事件:

        

     $(function(){
       $("div").click(function(){
            console.log("dsadsadsa");
        })
    });
    
    $(document).ready(function(){
       $("div").click(function(){
            console.log("dsadsadsa");
        })
    });

    参考:http://jquery.cuishifeng.cn/

    Jquery示例参考:https://github.com/wangyufu/jquery_example

      

  • 相关阅读:
    javascript你可能不知道的事
    10个经典的Android开源项目(附源码包)
    李嘉诚演讲:打工是最愚蠢的投资
    看成功学·谈成功
    Android程序开发学习笔记系列——基础篇(附源码)
    我的北漂感悟录,程序员你是否也曾有过?!
    版本控制神器GitHub的基本使用与踩坑,教你一铲子填平!
    自动化测试框架为什么选择 Pytest,而不是 Robot Framework?
    接口测试项目实战与经典面试题解析,挑战 BAT 大厂必会!
    Python 测试开发实战课程全面升级,挑战阿里 P6+,年薪 50W+!
  • 原文地址:https://www.cnblogs.com/wangyufu/p/6780654.html
Copyright © 2011-2022 走看看