美文网首页
第二次看书总结(第三章和第四章的一部分):

第二次看书总结(第三章和第四章的一部分):

作者: cs0710 | 来源:发表于2017-07-05 23:34 被阅读3次

    1.break和continue的区别
    这两种语句都是配合循环进行控制代码执行的语句。break会直接推出循环,不再执行以后的循环。continue会推出档次循环,然后继续执行下一次循环。对于循环语句还可以通过标签控制,这在代码中很少见,但是看到它的用处,还是有点惊讶。如:label: for(var i = 0; i < 10; i++) {for(var j = 0; j < 10; j++) {break label;}}这是一个两层循环,label标签指的是外层循环,在执行break label;的时候,它会直接退出外层循环,相应的也会退出整个循环。以此类推,continue label;也是如此。个人感觉label标签只有在多层(多余两层)循环时的用处很大,一层的时候就没必要了。
    2.location对象的三个属性href,hostname,search的区别
    (1)href可以返回整个url地址,包括参数,如http:www.baidu.com?p=1
    (2)hostname返回的主机名的字符串,如http:www.baidu.com
    (3)search返回的?以及?之后所传递的参数,如?p=1
    3.switch语句
    Switch语句中的参数在JavaScript中可以适用于任何的数据类型,不再单纯的适用于数值类型,它就是if...else的简写版。但是有一点要注意,就是在switch中的参数与case情形的值得对比是以三等号(===)进行的,即switch(10){case ‘10': break;}这是不相等的。
    4.对函数以及arguments的理解
    (1)函数定义的方式有三种,常见的有function+参数名、参数名=function(){},还有一种是通过new对象去定义,如var fn = new Function(‘alert(1)’),最后一种很少用。前两种定义方式是有区别的,第一种是会在任何地方都可以进行调用,第二种必须是先定义后使用,否则报错。
    (2)arguments其实是一个类似于array数组的对象,指的是给函数传递的参数,一般使用它的属性就是length,arguments.length指的是调用函数时传递的参数的个数,而不是定义函数时传递的参数的个数。可以通过arguments[0]...等等获取具体的传递的参数的顺序值。
    5.return语句
    使用return语句,它会阻止其之后代码的执行,一般会用在想阻止函数继续执行又不会有返回值出现,即可直接使用return;即可。
    6.函数的重载
    JavaScript中没有重载,但是可以通过检查参数的个数或者类型模仿重载。如果两个参数名同名,在调用时,后面的函数会覆盖前面的函数。
    7.对于变量值的复制的理解
    (1)对于基本类型变量值的复制,其实是复制的原先变量的文本值,是相互独立的,操作互相不受影响。
    (2)对于引用类型的值得复制,复制的是对象的指针,即和原先变量指向的是同一个对象,无论对哪一个变量进行操作,都会影响另一个变量的值。
    8.typeof和instanceof
    (1)typeof一般使用在检测基本数据的类型,其中对于null检测时,由于null是一个空对象,所以typeof (null)会返回object。对于函数会返回function。
    (2)instanceof一般使用在引用数据类型中,比如新建的一个对象,var obj = new Object();使用instanceof进行检测时,可以知道该对象是一个什么类型的对象,结果会返回布尔值。而用typeof只是可以知道obj的值是一个对象。其它的用法还有数据、正则表达式等。如:obj instanceof Object; arr instanceof Array;reg instanceof RegExp;

    相关文章

      网友评论

          本文标题:第二次看书总结(第三章和第四章的一部分):

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