JavaScript基础知识补习(5)

8 篇文章 0 订阅

(18/8/19 今天所看的的总结 明天记得再看一遍 啊 苍天额····)

Math
* - Math和其他的对象不同,它不是一个构造函数。
* 它属于一个工具类。不用创建对象,它里边封装了数学运算相关的属性和方法
* eg
* Math.PI表示圆周率
* Math.E
* ···

    console.log(Math.PI);

Math对象的方法
* Math.abs() 绝对值
* Math.ceil() 只要小数位有值就自动进1,向上取整
* Math.floor() 向下取整
* Math.round() 四舍五入

    console.log(Math.abs(-1));  //1
    console.log(Math.ceil(1.4)); //2
    console.log(Math.floor(1.2)); //1
    console.log(Math.round(1.2)); //1
    console.log(Math.round(1.5)); //2

Math.random() 生成随机0-1的数
* -思考:
* 生成1-10
* console.log(Math.round(Math.random()*10)); //取0-10的数
* 生成x-y
* Math.round(Math.random()*x-y)+x

   /*
    *   -思考:
    *       生成1-10
    * console.log(Math.round(Math.random()*10));    //取0-10的数
    *       生成x-y
    *       Math.round(Math.random()*x-y)+x
    */
console.log(Math.round(Math.random()*10));  //取0-10的数
console.log(Math.round(Math.random()*9)+1); //1-10

max() 取多个数的最大值
min()

            var max = Math.max(10,23,46,11);
            var min = Math.min(10,23,46,11);
            console.log(max); //46
            console.log(min); //10

Math.pow(x,y) 返回x的y次幂
Math.sqrt() 开方


包装类
基本数据类型(String,Boolean,Number,Undefined,Null)
引用数据类型 Object

在JS中为我们提供了三个包装类,通过这三个包装类可以将基本数据类型的数据转换为对象
String()
  * - 可以将基本数据类型字符串转换为String对象
Number()
  * - 可以将基本数据类型的数字转换为Number对象
Boolean()
  * - 可以将基本数据类型的布尔值转换为Boolean对象

但是注意:我们在实际应用中不会使用基本数据类型的对象
  如果使用基本数据类型的对象,在做一些比较的时候结果可能不对
  ××方法和属性只能添加给对象,不能添加给基本数据××
  当我们对一些基本数据类型的值去调用属性和方法时,浏览器会临时使用包装类将其转换为对象,然后再调用对象的属性和方法,调用完以后,(销毁)再将其转换为基本数据类型。

包装类之String

        //创建一个字符串
        /*
         * 在底层字符串是以字符数组的形式保存的
         * ["H","e","l"]
         */
        var str = "Hello Atguigu";      
        /*
         * length属性
         *  - 可以用来获取字符串的长度
         */
        console.log(str.length);
        console.log(str[5]);

charAt()
* - 可以返回字符串中指定位置的字符
* - 根据索引获取指定的字符
charCodeAt()
* - 获取指定位置字符的字符编码(Unicode编码)
String.formCharCode()
* - 可以根据字符编码去获取字符
concat()
* - 可以用来连接两个或多个字符串
* - 作用和+一样
indexof()
* - 该方法可以检索一个字符串中是否含有指定内容
* - 如果字符串中含有该内容,则会返回其第一次出现的索引
* 如果没有找到指定的内容,则返回-1
* - 可以指定一个第二个参数,指定开始查找的位置
*
lastIndexOf();
* -从后往前找
* - 该方法的用法和indexOf()一样,
* - 也可以指定开始查找的位置
slice()
* - 可以从字符串中截取指定的内容
* - 不会影响原字符串,而是将截取到内容返回
* - 参数:
* 第一个,开始位置的索引(包括开始位置)
* 第二个,结束位置的索引(不包括结束位置)
* - 如果省略第二个参数,则会截取到后边所有的
* - 也可以传递一个负数作为参数,负数的话将会从后边计算
substring()
* - 可以用来截取一个字符串,与slice()类似
* - 参数:
* - 第一个:开始截取位置的索引(包括开始位置)
* - 第二个:结束位置的索引(不包括结束位置)
* - 不同的是这个方法不能接受负值作为参数,
* 如果传递了一个负值,则默认使用0
* - 而且他还自动调整参数的位置,如果第二个参数小于第一个,则自动交换

substr()
* - 用来截取字符串
* - 参数:
* 1.截取开始位置的索引
* 2.截取的长度

split()
* - 可以将一个字符串拆分为一个数组
* - 参数:
* -需要一个字符串作为参数,将会根据该字符串去拆分数组


正则表达式

正则表达式用于定义一些字符串的规则, 计算机可以根据正则表达式,来检查一个字符串是否符合规则,获取将字符串中符合规则的内容提取出来。

创建正则表达式的对象:
* 语法:
* var 变量 = new RegExp(“正则表达式”,”匹配模式”);
* 在构造函数中可以传递一个匹配模式作为第二个参数,
* 可以是
* i 忽略大小写
* g 全局匹配模式

 使用字面量来创建正则表达式
   * 语法:var 变量 = /正则表达式/匹配模式
   * 使用字面量的方式创建更加简单
  * 使用构造函数创建更加灵活

 使用typeof检查正则对象,会返回object
  var reg = new RegExp(“a”); 这个正则表达式可以来检查一个字符串中是否含有a


正则表达式的方法:

         *  test()
         *   - 使用这个方法可以用来检查一个字符串是否符合正则表达式的规则,
         *      如果符合则返回true,否则返回false

字符串和正则表达式的相关的方法

split()
             *  -可以将一个字符串传粉为一个数组
             *  -方法中可以传递一个正则表达式作为参数,这样方法会根据正则表达式

search()
             *  - 搜索字符串中是否含有指定内容
             *  - 如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到返回-1
             *  - 它可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
             *  - serach()只会查找第一个,即使设置全局匹配也没用

match()
             *  - 可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
             *  - 默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索
             *      我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容
             *      可以为一个正则表达式设置多个匹配模式,且顺序无所谓
             *  - match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果
replace()
             *  - 可以将字符串中指定内容替换为新的内容
             *  - 参数:
             *      1.被替换的内容,可以接受一个正则表达式作为参数
             *      2.新的内容
             *  - 默认只会替换第一个

正则表达式的语法

使用 | 表示或者的意思

             * []里的内容也是或的关系  //[A-z0-9_] 所有字母数字和下划线
             * [ab] == a|b
             * [a-z] 任意小写字母
             * [A-Z] 任意大写字母
             * [A-z] 任意字母
             * [0-9] 任意数字
             * 
             * [^ ] 除了


         量词
             *  - 通过量词可以设置一个内容出现的次数
             *  - 量词只对它前边的一个内容起作用
             *  - {n} 正好出现n次
             *  - {m,n} 出现m-n次
             *  - {m,} m次以上
             *  - + 至少一个,相当于{1,} n+
             *  - * 0个或多个,相当于{0,} n*
             *  - ? 0个或1个,相当于{0,1} n?
             * eg:
             var reg = /a{3}/;

            reg = /(ab){3}/

            reg = /ab{3}c/;

            reg = /ab{1,3}c/;

检查一个字符串中是否以a开头
             *  ^ 表示开头
             *  $ 表示结尾 

            reg = /^a/;   // ^ 表示开头

            reg = /a$/;  //匹配结尾

            reg = /^a$/; //a同时是开头也是结尾···

            reg = /^a|a$/; //a是开头和结尾···

检查一个字符串中是否含有 .
             * . 表示任意字符
             * 在正则表达式中使用\作为转义字符
             * \. 来表示.
             * \\  表示\
             * 
             * 注意:使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,
             *  如果要使用\则需要使用\\来代替
             * 
             * 
             * \w
             *  - 任意字母、数字、_  [A-z0-9_]
             * \W
             *  - 除了字母、数字、_  [^A-z0-9_]
             * \d
             *  - 任意的数字 [0-9]
             * \D
             *  - 除了数字 [^0-9]
             * \s
             *  - 空格
             * \S
             *  - 除了空格
             * \b
             *  - 单词边界
             * \B
             *  - 除了单词边界

【我的老天鹅,叭软件放在沙箱里运行什么都没保存····看来只能明天整理了(8/21)】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值