[自学第十六天] 笔记小结

1. 内置对象

    1)global对象
        在JS中没有global对象,Web浏览器将Global对象视为window对象的一部分加以实现.

        方法:
            a.encodeURIComponent():对unicode进行编码处理

            b.decodeURIComponent():对unicode编码进行解码处理

            c.eval():具有字符串解析器的作用(慎用!因为它的性能较差,且比较危险)

    2) Math对象
        该对象主要提供了大量的数学运算的属性和方法.
        属性:
            Math.E
            Math.PI
        方法:
            min()           取最小值函数
            max()           取最大值函数
            round()         四舍五入函数
            ccell()         向上取整(取大于或等于操作数的最小整数)
            floor()         向下取整(取小于或等于操作数的最大整数)
            random()        产生[0,1)之间的一个小数
            abs(num)        返回num的绝对值
            exp(num)        返回Math.E的num次幂
            log(num)        返回num的自然对数
            pow(num,power)  返回num的power次幂
            sqrt(num)       返回num的平方根
            acos(x)         返回x的反余弦值
            asin(x)         返回x的反正弦值
            atan(x)         返回x的反正切值
            atan2(y,x)      返回y/x的反正切值
            cos(x)          返回x的余弦值
            sin(x)          返回x的正弦值
            tan(x)          返回x的正切值

2. 面向对象

    创建对象:
        1)常规创建
           a.new
           b.字面量
        2)工厂模式
            通过封装函数实现创建一批相似的对象.
            缺陷:无法知道创建的对象是哪一个对象的实例.
        3)构造函数
            构造函数是用来构建一个类.(ES5中没有类的概念,实际上这里的构造函数就是类)
            类是对象的一个抽象符号化表示(把相同或相似的一部分对象抽离出来就形成了一个类).
            对象是类的实例化(具体化)(赋予一定的属性和功能)

            a.创建构造函数(类)
                语法:
                    function 类名 ([形参列表]){
                        this.属性名 = 参数
                        ...
                        this.方法名 = function(){
                            函数体;
                        }
                        ...
                    }

            b.通过构造函数实例化对象
                new 类名([实参列表]);

            使用了构造函数的方法,和使用工厂模式的方法他们不同之处如下:
                · 构造函数方法没有显示的创建对象(new Object());
                · 直接将属性和方法赋值给this对象;
                · 没有return语句.
            构造函数的方法有一些规范:
                · 函数名和实例化构造名相同且大写,(PS:非强制,但这么写有助于区分构造函数和普通函数);
                · 通过构造函数创建对象,必须使用new运算符.
            构造函数执行的过程:
                · 当使用了构造函数,并且new构造函数(),那么就后台执行了new Object();
                · 将构造函数的作用域给新对象(即new Object()创建出的对象),而函数体内的this就代表new Object()出来的对象;
                · 执行构造函数内的代码
                · 返回新对象(后台直接返回).

3.基本包装类型

在基本数据类型中有3个特殊的类的存在:String,NumberBoolean.
上面3个基本类型都有自己的包装对象,有相应的属性和方法.调用方法的过程是在后台发生的,所以我们称作为基本包装类型.
通俗地讲就是基本类型的数据都有一个包装他们的类,这些类都有自己的属性和方法,这些基本类型的数据都可以直接去调用这些属性和方法.

    1)Boolean类型
        没有自己的属性和方法.
    2)Number类型
        a.属性:
            MAX_VALUE           表示最大值
            MIN_VALUE           表示最小值
            NaN                 非数值
            NEGATIVE_INFINITY   负无穷大,溢出返回该值
            POSITIVE_INFINITY   无穷大,溢出返回该值
            prototype            原型,用于增加新属性和方法

        b.方法
            toString()       将数值转化为字符串,并且可以转换进制
            toLocaleString() 根据本地数字格式转换为字符串
            toFixed()        将数字保留小数点后指定位数并转化为字符串
            toExponential()  将数字以指数形式表示,保留小数点后指定位数并转化为字符串
            toPrecision()    指数形式或点形式表示数,保留小数点后面指定位数并转化为字符串
            value()          显示原始值

    3)String属性
        a.属性
            length
        b.方法
            charAt(n)                    返回指定索引位置的字符
            charCodeAt(n)                以Unicode编码形式返回指定索引位置的字符
            concat(str1...str2)          将字符串参数串联到调用该方法的字符串
            slice(n,m)                   返回字符串n到m之间位置的字符串
            substring(n,m)               同上
            substr(n,m)                  返回字符串n开始的m个字符串
            indexOf(str , n)             从n开始搜索的第一个str,并将搜索的索引值返回
            lastIndexOf(str , n)         从n开始搜索的最后一个str,并将搜索的索引值返回
            str.toLowerCase()            将字符串全部转换为小写
            str.toUpperCase()            将字符串全部转换为大写
            (了解)str.toLocaleLowerCase() 将字符串全部转换为小写,并且本地化.
            (了解)str.toLocaleUpperCase() 将字符串全部转换为大写,并且本地化.
                注意:只有几种语言(如土耳其语)具有地方特色的大小写本地性,一般来说,是否本地化效果都是一致的.
            match(pattern)               返回pattern 中的子串或null
            replace(pattern, replacement) 用replacement 替换pattern
            search(pattern)              返回字符串中pattern 开始位置
            split(pattern)               返回字符串按指定pattern 拆分的数组
            String.fromCharCode(ascii)   惊天方法,输出Ascii码对应值
            localeCompare(str1,str2)     比较两个字符串,并返回相应的值

4. 变量、作用域及内存

    1)变量
        a.基本类型的变量
            基本类型的变量的值存储在栈中.
        b.引用类型的变量
            引用类型的变量的值存储在堆中,在栈中存储的是引用类型的变量的地址.(指针)
            如果要获取引用类型变量的值,需要先从栈中获取地址,再按址查找,从而获取到值.

    2)作用域
        在ES5作用域分为全局作用域和局部作用域两种.
        在ES6作用域分为全局作用域、局部作用域和块级作用域三种.
            全局作用域:
                定义在函数外部的变量拥有全局作用域.
            局部作用域:
                定义在函数内部的变量拥有局部作用域.

    3)垃圾回收机制
        JS有自动回收垃圾的功能.
        在项目开发过程中,初始化对象时,最好赋初值为null.

2019-10-26

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值