`

JavaScript链式原理的学习

阅读更多

     所谓的“链式”:是指调用一个对象的方法后返回的是这个对象自身,也就是返回this,因此可以进行链式调用。

 

     所谓“闭包”是指由于JavaScript中的变量没有像Java、C++那样的块作用域(块通常用{}包含起来),而只有function范围的作用域,再加上函数中的匿名函数赋予一个函数之外的变量,也就是函数之外有变量(也叫句柄、指针)引用了函数内部定义的匿名函数,这时候当这个变量没有被delete或赋予null,则调用这个函数时,JavaScript的虚拟机会保留和这个匿名函数同级的所有变量,直到这个引用句柄被销毁(指向匿名对象的链接被断开),这些function作用域的变量才得以清除。

 

 

<html>
<head>
    <title>JavaScript原理学习</title>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <script type="text/javascript">
        function jQueryOBJ(el) {
            this.el = el;
        }
        jQueryOBJ.prototype = {
            css : function(key, value) {
                this.el.style[key] = value;
                return this;
            },
            hide:function() {
                this.el.style["display"] = "none";
                return this;
            },
            show:function() {
                this.el.style["display"] = "block";
                return this;
            }
        }

        var $ = function(idString) {
            var el = document.getElementById(idString);
            var JOB = new jQueryOBJ(el);
            return JOB;
        }

        function init() {
            $("ok").css("border", "2px red solid").show();
        }
    </script>
</head>
<body>
链式调用例子如:
$("ok").css("border", "2px red solid").show();
<br><br><br><br>
<input type="button" value="执行" onclick="init()"/>
<br>

<div id="ok" style="display:none;">asdlf</div>

</body>
</html>
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics