+ 4、理解整个系统需要额外掌握的知识

有思俱乐部学习园地

理解整个系统需要额外掌握的知识


1、&& ||操作符号的使用

要看懂整个框架,需要明白&& ||操作符号,这2个操作符和传统语言不太一样。

a()&&b():

    如果执行a()后返回true,则执行b()并返回b的值;

    如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;


a()||b():

    如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;

    如果执行a()后返回false,则执行b()并返回b()的值;

&&优先级高于||

具体代码:

alert((1 && 3 || 0) && 4); //结果4①

alert(1 && 3 || 0 && 4); //结果3②

alert(0 && 3 || 1 && 4); //结果4③

分析:

语句①:1&&3返回3 => 3 || 0返回3 => 3&&4返回4

语句②:先执行1&&3返回3,在执行0&&4返回0,最后执行结果比较3||0返回3

语句③:先执行0&&3返回0,在执行1&&4返回4,最后执行结果比较0||4返回4

4返回4,最后执行结果比较0||4返回4

注:非0的整数都为true,undefined、null和空字符串””为false。

2、this,new操作符号的理解。

this的理解

调用形式 this指向
普通函数 全局对象window
对象的方法 该对象
构造函数 新构造的对象

new的理解

创建一个新的对象,这个对象的类型是object;

设置这个新的对象的内部、可访问性和[[prototype]]属性为构造函数(指prototype.construtor所指向的构造函数)中设置的;

执行构造函数,当this关键字被提及的时候,使用新创建的对象的属性;

返回新创建的对象(除非构造方法中返回的是‘无原型’)。

3、propotype的理解。

以上所讲的综合示例:


<script type="text/javascript">

    //页面加载成功;

    window.onload = function () {

        var ck = new cangku(); //实例化创建一个仓库

        ck.cun(10); //实例化成员对象在这里执行存货 this.sl = 1

        ck.cl();  //实例化成员对象在这里执行查看库存alert(1)   

        ck.qu(5);  //实例化成员对象在这里执行取货this.sl = 0;

        ck.cl(); //实例化成员对象在这里执行查看库存alert(0);

        cangku.apply(ck);      //重载函数换老板给cangku重新赋值

    }

    var cangku = function () { //创建一个实例命名为cangku

        this.sl = 0; //赋予此函数属性命名为sl

        document.getElementById("kc").innerText = this.sl;

    }

    cangku.prototype = {  //构造函数

        cun: function (ch) { //存货

            this.sl = this.sl + ch;

            document.getElementById("kc").innerText = this.sl;

        },

        qu: function (qh) { //取货

            this.sl = this.sl - qh;

            document.getElementById("kc").innerText = this.sl;

        },

        cl: function () { //查看库存

            alert(this.sl);

        }

    }
</script>
            

4、js回调的理解,js的精髓。

4.1.回调函数的作用

js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数。

4.2回调函数的解释

     因为函数实际上是一种对象,它可以存储在变量中,通过参数传递给另一个函数,在函数内部创建,从函数中返回结果值”,

     因为函数是内置对象,我们可以将它作为参数传递给另一个函数,到函数中执行,甚至执行后将它返回,它一直被“专业的程序员”看作是一种难懂的技术。

     回调函数的英文解释为:

           `A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.`

     翻译过来就是:

            `回调函数是一个作为变量传递给另外一个函数的函数,它在主体函数执行完之后执行。`

     function A有一个参数function B,function B会在function A执行完成之后被调用执行。