美文网首页
js的基础知识与应用(五)

js的基础知识与应用(五)

作者: 小太阳会发光i | 来源:发表于2017-02-21 22:00 被阅读1次

    数组的真正写法:

    new Array();
    函数的真正写法:
    new Function(); //不推荐
    

    Math的常用方法(本地对象)

    Math.random()  获取0-1之间的随机小数不包括1
    Math.ceil() 向上取整
    Math.floor() 向下取整
    Math.round()  四舍五入
    
    Math.abs()  绝对值
    Math.sqrt()  开方
    Math.pow()  n次方(幂)
    Math.max()  求最大值
    Math.min()  求最小值
    

    getByClass

    批量修改样式:
    1.with(obj.style){
        样式名=样式值;
        样式名=样式值;
        }
        不用:缺陷;
        主要是性能问题
    2.obj.style.cssText='width:200px;height:200px;';
            obj.style.cssText  简单
            但是不用:有缺陷。
                      会覆盖 先把行间样式清空再加
    

    getStyle 批量获取样式

    function getStyle() {
        if (arguments.length==3){
            arguments[0].style[arguments[1]]=arguments[2];
        }else{
            for(var name in arguments[1]){
                arguments[0].style[name]=arguments[1][name];
            }
        }
    }
    

    eval:把字符串变成可执行的语句.

                 eval('('+json+')')
         在解析json字符串的时候,要两边加()括号
         后台过来的json  都是字符串   
         ****另一种方法:var fn=new Function('return'+json);
                        fn()
    

    预解析:

    会预先解析一些(变量定义、函数会预解析);
    var a=12;  
    只把var a提到作用域的顶部
    js会把变量的声明(仅仅是声明)提到顶部。不会突破作用域
    `执行步骤:`
        读取一个script标签>预解析>执行里面的代码>
        读取下一个script标签>预解析>执行里面的代码
        不会突破script标签
    undefined和not defined   
        undefined存在没有赋值
        not defined  没定义 直接用
    

    预解析作用范围:

    会找本作用域之内(函数、script)
    函数也有预解析,但是要注意:
    当以变量的形式声明的函数,预解析会按照变量的特性走
    

    引用:

      对象才有引用  基本类型没有
           什么叫有引用 ?他们指的是同一个东西;
           引用: 共同是一个东西:object 
           只有在对象身上才会发生
     为什么会它有引用   因为对象比较大  不能每次都用新东西  性能浪费
    

    异常:

    try...catch
        报错的时候,后面的程序不执行。
    
    bug异常 程序员不可控制的错误
    try...catch
    try 尝试着去执行一段代码。
    如果没有做错。就正常执行。
    如果有错,找catch
    try{
        可能会出错的代码
    }catch(e){
        补救代码
    }
        e 包含着错误信息
    

    严格模式

    'use strict'
    严格模式的好处:
        1.解决了局部函数中this是window的bug.
        2.解决了不加var声明变量的bug.
        3.避免在if,switch,for,while,for in里面定义函数
                (不允许在非函数的代码块内声明函数)
        4.去掉了with
    严格模式是好东西
    每个js文件都加上严格模式    推荐
    严格模式有作用域    1.函数   2.script                      
                         
    严格模式兼容?
    高级浏览器兼容 ie9-不兼容
    严格模式注意:
    使用严格模式'use strict'前面不能有代码。

    相关文章

      网友评论

          本文标题:js的基础知识与应用(五)

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