美文网首页
构造函数及jQuery基础

构造函数及jQuery基础

作者: jackmanzhang | 来源:发表于2018-09-19 00:17 被阅读0次

闭包存循环索引

window.onload = function () {
            var a = document.getElementsByTagName("li");
            // alert(a.length)
            for (var i = 0; i < a.length; i++) {
                (function (i) {
                    a[i].onclick = function () {
                        alert(i)
                    }
                })(i)
            }
        }

  //如果直接写不用闭包则结果会循环很快,结果只会是最后一个值

面向对象

  1. 单体创建对象
var Tom = {
            name: 'tom',
            age: 18,
            showname: function () {
                alert('我的名字叫' + this.name);
            },
            showage: function () {
                alert('我今年' + this.age + '岁');
            }
        }
        Tom.showage();
        alert(Tom.age)
  1. 工厂模式
 function Person(name, age, job) {
            var o = new Object();
            o.name = name;
            o.age = age;
            o.job = job;
            o.showname = function () {
                alert('我的名字叫' + this.name);
            };
            o.showage = function () {
                alert('我今年' + this.age + '岁');
            };
            o.showjob = function () {
                alert('我的工作是' + this.job);
            };
            return o; //必须有return
        }

        var tom = Person('tom', 18, '程序员');//直接调用函数
        alert(tom.job)

        tom.showname();

构造函数

function Person(name, age, job) {
            this.name = name;
            this.age = age;
            this.job = job;
            this.showName = function () {
                alert(this.name)
            }
            this.showage = function () {
                alert(this.age)
            }
            this.showjob = function () {
                alert(this.job)
            }
            //不必须有return
        }
        var jack = new Person("jack", 22, "攻城狮");//实例化注意和面向对象中工厂的区别
        // var tom = new Person('tom', 22, '程序员');
        // jack.showjob()
        // alert(jack.name==tom.name)
        function aa(a,b) {
            alert(this+" "+a+" "+b)
        }
        aa(1,2)
        aa.call("abf",1,2)//更改this值
        aa.apply("abf",[2,3])//更改this值

继承

  function Father(name, age) {
            this.name = name;
            this.age = age;
        }
        Father.prototype.showname = function () {
            alert(this.name)
        };
        Father.prototype.showage = function () {
            alert(this.age)
        };

        //子类
        function Son(name, age, job) {
            Father.call(this, name, age);//属性继承
            this.job = job
        }
        //方法继承
        Son.prototype=new Father();
        Son.prototype.showjob = function () {
            alert(this.job)
        };
        var jack = new Son("jack", 18, '程序猿');
        jack.showname();
        jack.showage();
        jack.showjob();


        //不必须有return

jQuery部分选择器

 $("#div1").next().css({//下一个元素
        color: 'red'
    })
    $("#div1").nextAll().css({//也可以选择特定的元素如:$("#div1").nextAll('p')
        background:'aqua'
    })
    $("#span1").parent().css({
        width:'100px',
        backgroundColor:'red',
        fontSize:'30px'
    })
    $("#two").closest('div').css({//祖先
        background:'gold'
    })
    $(".list").children().css({
        background:'green'
    })
    .end().css({
        background:'red'
    })
    $(".list2 li:eq(2)").css({
        background:'black'
    })
    .siblings().css({//选择同级兄弟元素
        background:'red'
    })
    $(".div2").find("#link1").css({
        background:'gold'
    })

增删样式

 // alert($(".box1").css('font-size'))
    $(".box1").css({
        background:'gold'
    })
    $(".box1").addClass('big')
    $(".box1").removeClass('box1')

点击事件

 $(function () {
            $("#btn").click(function () {
                $(".box1").toggleClass('sty')//切换样式
            })
        })

获取索引值

<script>
   $("#list li").click(function () {
       // alert(this.innerHTML)
       // alert($(this).html())//和上面一样都是获取值
       alert($(this).index())//获取索引值
   })
</script>

相关文章

  • 构造函数及jQuery基础

    闭包存循环索引 面向对象 单体创建对象 工厂模式 构造函数 继承 jQuery部分选择器 增删样式 点击事件 获取索引值

  • 构造函数及jQuery基础

    1. 闭包存循环索引 2. 面向对象 2.1 单体创建对象 2.2 工厂模式 3. 构造函数 4. 继承 5.jQ...

  • js 中的 function.prototype 在jQuery

    在jQuery源码中,jQuery是一个构造函数,而这个特殊的构造函数使得 “ jQuery() ” 就可以构造出...

  • 自定义封装一个简易jQuery

    jQuery实质为构造函数,这个构造函数接受一个参数,jQuery内部通过这个参数利用原生的API找到相对应的DO...

  • jQuery构造函数

    前言 本篇文章较长,其中包含了对jQuery源码的分析,如果不感兴趣的同学可以直接查看参数类型部分,感兴趣的同学可...

  • 原生封装jq

    //jquery 的构造函数function Jquery(arg){//用来存选出来的元素this.elemen...

  • jquery内部实现原理

    含摘录,非原创 jQuery实质上是一个构造函数,该构造函数接受一个参数,jQuery通过这个参数利用原生API找...

  • jQuery粗略源码解析1 构造jQuery对象

    1 整个jQuery的结构 2 构造函数的7种用法 2.1 jQuery(selector [,context])...

  • 手写jQuery

    jQuery对象 是指 jQuery函数构造出来的对象 举例 ① Object是个函数 Object对象表示Obj...

  • 1 构造函数 1.1 构造函数及析构函数的定义及使用 构造函数的函数名为:init 析构函数的函数名为:del 1...

网友评论

      本文标题:构造函数及jQuery基础

      本文链接:https://www.haomeiwen.com/subject/dqavnftx.html